docker常用参数详解,docker run常用参数详解(精)

docker常用参数详解,docker run常用参数详解(精)1 查询 github 上的镜像 docker search sybase 2 下载 docker pull ifnazar sybase 15 7 3 删除镜像 docker rmi f runoob ubuntu v4 4 查看所有镜像 docker images 5 使用镜像 docker run 镜像名称 6 更新镜像 docker

大家好,我是讯享网,很高兴认识大家。

1. 查询github上的镜像

docker search sybase

讯享网

2. 下载

讯享网docker pull ifnazar/sybase_15_7

3. 删除镜像

docker rmi -f runoob/ubuntu:v4

4. 查看所有镜像

讯享网docker images

5. 使用镜像

docker run 镜像名称

6. 更新镜像

讯享网docker run -t -i ubuntu:15.10 /bin/bash

7. 设置镜像标签

 docker tag 860c279d2fec runoob/centos:dev

8.运行进入

讯享网 docker run --privileged -h zy01 --name sybase -it ifnazar/sybase_15_7 --restart=always /bin/bash --privileged:使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。 -h:指定容器主机名 --name:指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 -i:打开STDIN,用于控制台交互 -t: 分配tty设备,该可以支持终端登录,默认为false --restart=always:指定容器停止后的重启策略

9. 退出容器

exit

10. 进入容器(首先要判断是否启动容器,如果未启动请先启动容器在进入)

讯享网docker exec -it sybase /bin/bash

11 启动容器设置IP端口

 docker run -p 5000:5000 --name sybase -it ifnazar/sybase_15_7 /bin/bash

12. 启动容器

讯享网docker start sybase

13. 停止容器

docker stop sybase

14. 查看容器IP

讯享网进入容器 cat /etc/hosts

15. 删除某个容器,若正在运行,需要先停止

[root@localhost ~]# docker rm yufei_01 Error response from daemon: You cannot remove a running container 2d48fc5b7c17b01e6247cbc0faf1e54f24651d5e16d6db4e15f92d33. Stop the container before attempting removal or use -f [root@localhost ~]# docker stop yufei_01 yufei_01 [root@localhost ~]# docker rm yufei_01 yufei_01 [root@localhost ~]# 

16. 删除所有容器

讯享网[root@localhost ~]# docker rm $(docker ps -a -q) Error response from daemon: You cannot remove a running container 724e7701f0d4ae21f75ba0e408fd6cce96f69cba11. Stop the container before attempting removal or use -f Error response from daemon: You cannot remove a running container fee36f9d2ee56afbdcca0eeb8b63e5590ddf18c0c42954c93b9f06. Stop the container before attempting removal or use -f [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# docker stop yufei_6 yufei_6 [root@localhost ~]# docker stop yufei_5 yufei_5 [root@localhost ~]# docker rm $(docker ps -a -q) 724e7701f0d4 fe [root@localhost ~]# 

17. 保存导出镜像

docker save -o /mnt/ftp.tar fauria/vsftpd

18. 导入镜像包

讯享网docker load -i ftp.tar

19. 查看所有容器

docker ps -a

20. 修改容器名字

讯享网docker rename <my_container> <my_new_container>

21. 将现有容器封装为镜像

docker commit vstelnet telnet/v0.1

22. 查看docker现有容器镜像性能状态

讯享网docker stats -a

23. 宿主机与容器之间的拷贝


讯享网

docker cp cowrie/ vsssh:/mnt docker cp vsssh:/mnt cowrie/

24. 设置共享文件夹

讯享网PS D:\docker> docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 49f7960eb7e4 2 months ago 200MB PS D:\docker> docker run -v d:/docker/data:/data centos ls /data test.txt

-v:挂载共享磁盘,其中d:/docker/data表示宿主机的目录,冒号后面的/data表示虚拟机中的挂载点。这个挂载点会由docker容器自动创建,无须已存在。

25. 宿主机执行docker内容器命令

docker exec -it ftp /bin/bash -c 'python servers.py -e start -l ftp.log -w log -s ftp -i 00001'

26. 运行dockerfile文件

讯享网docker build -t scanner:v1 . # -t: 名字和可选的标签(Name:tag) # .: 表示从当前路径使用Dockerfile

27. docker删除所有none镜像

docker rmi `docker images | grep '<none>' | awk '{print $3}'`

28.  查看容器IP地址

我们可以通过以下命令查看容器运行的各种数据:

讯享网docker inspect mycentos2

也可以直接执行下面的命令直接输出IP地址:

docker inspect --format='{ 
  
    
  {.NetworkSettings.IPAddress}}' mycentos2

29. 查看容器日志

讯享网#docker logs 可以查看日志 docker logs 容器名/id 排错 

例如访问http://47.106.176.37:88/asdfasdf,出现404错误:

查看日志:

 

 

Docker run 参数详解

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Usage: Run a command in a new container
中文意思为:通过run命令创建一个新的容器(container)

  • 常用选项说明
    • -d, --detach=false, 指定容器运行于前台还是后台,默认为false
    • -i, --interactive=false, 打开STDIN,用于控制台交互
    • -t, --tty=false, 分配tty设备,该可以支持终端登录,默认为false
    • -u, --user="", 指定容器的用户
    • -a, --attach=[], 登录容器(必须是以docker run -d启动的容器)
    • -w, --workdir="", 指定容器的工作目录
    • -c, --cpu-shares=0, 设置容器CPU权重,在CPU共享场景使用
    • -e, --env=[], 指定环境变量,容器中可以使用该环境变量
    • -m, --memory="", 指定容器的内存上限
    • -P, --publish-all=false, 指定容器暴露的端口
    • -p, --publish=[], 指定容器暴露的端口
    • -h, --hostname="", 指定容器的主机名
    • -v, --volume=[], 给容器挂载存储卷,挂载到容器的某个目录
    • --volumes-from=[], 给容器挂载其他容器上的卷,挂载到容器的某个目录
    • --cap-add=[], 添加权限,权限清单详见:capabilities(7): overview of capabilities - Linux man page
    • --cap-drop=[], 删除权限,权限清单详见:capabilities(7): overview of capabilities - Linux man page
    • --cidfile="", 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
    • --cpuset="", 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
    • --device=[], 添加主机设备给容器,相当于设备直通
    • --dns=[], 指定容器的dns服务器
    • --dns-search=[], 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
    • --entrypoint="", 覆盖image的入口点
    • --env-file=[], 指定环境变量文件,文件格式为每行一个环境变量
    • --expose=[], 指定容器暴露的端口,即修改镜像的暴露端口
    • --link=[], 指定容器间的关联,使用其他容器的IP、env等信息
    • --lxc-conf=[], 指定容器的配置文件,只有在指定--exec-driver=lxc时使用
    • --name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
    • --net="bridge", 容器网络设置:
      • bridge 使用docker daemon指定的网桥
      • host //容器使用主机的网络
      • container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
      • none 容器使用自己的网络(类似--net=bridge),但是不进行配置
    • --privileged=false, 指定容器是否为特权容器,特权容器拥有所有的capabilities
    • --restart="no", 指定容器停止后的重启策略:
      • no:容器退出时不重启
      • on-failure:容器故障退出(返回值非零)时重启
      • always:容器退出时总是重启
    • --rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
    • --sig-proxy=true, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

示例

  • 运行一个在后台执行的容器,同时,还能用控制台管理:docker run -i -t -d ubuntu:latest
  • 运行一个带命令在后台不断执行的容器,不直接展示容器内部信息:docker run -d ubuntu:latest ping www.docker.com
  • 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑,还能用控制台管理,docker run -d --restart=always ubuntu:latest ping www.docker.com
  • 为容器指定一个名字,docker run -d --name=ubuntu_server ubuntu:latest
  • 容器暴露80端口,并指定宿主机80端口与其通信(: 之前是宿主机端口,之后是容器需暴露的端口),docker run -d --name=ubuntu_server -p 80:80 ubuntu:latest
  • 指定容器内目录与宿主机目录共享(: 之前是宿主机文件夹,之后是容器需共享的文件夹),docker run -d --name=ubuntu_server -v /etc/www:/var/www ubuntu:latest

小讯
上一篇 2025-03-09 10:58
下一篇 2025-01-12 10:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/13213.html