出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五晚6点10分 与您不见不散!


“docker run”和“docker exec”都是 Docker 容器中用于执行的命令。然而,在不同的情况下,它们的使用有着本质上的区别。


“docker run”命令

“docker run”通常是在新创建的容器中所使用的命令。 它适用于在没有其他容器运行的情况下,您想要创建一个容器,并且要启动它,然后在其上运行一个进程。它的格式如下所示:

docker run [OPTIONS] IMAGE COMMAND [ARG...]

在“docker run”命令之后,您必须通过指定镜像来创建容器,同时还可以指定的[OPTIONS]和[ARG...],例如:

docker run --name ubuntu_bash --rm -i -t ubuntu bash

上述命令将创建一个名为 ubuntu_bash 的容器并启动一个 Bash 会话。该示例中所使用的[OPTIONS]和[ARG...]的详细解读如下所示:

  • --name 为容器指定名称,在本例中的容器名称为 ubuntu_bash;
  • --rm 就像 bash 中的 rm 命令一样,它会删除容器,但这里它会在该容器退出时进行删除;
  • -i 就是 –interactive 的缩写,它确保了即使没有连接到正在运行的容器,STDIN(标准输入)也会处于打开状态;
  • -t 也可以使用 –tty 来进行引用,在容器中启动交互式的 bashshell;
  • 容器的镜像应遵循[OPTIONS],这里的是镜像 ubuntu;
  • 紧随镜像后面的部分是您要运行的命令:bash;

想了解更多关于“docker run”的更多[OPTIONS]信息,请查看https://docs.docker.com/engine/reference/commandline/run/。


“docker exec”命令

“docker exec”适用于在现有容器中运行命令的情况。如果您已经拥有了一个正在运行的容器,并希望更改该容器或从中获取某些内容,那么使用“docker exec”命令就非常合适了。例如,如果您使用了 docker-compose,那么您可能会启动多个容器,并且希望能够在创建它们后访问其中的一个或多个容器。它的格式如下所示:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

“docker exec”也有着一系列可以指定的[OPTIONS]和[ARG...],尽管您需要确保容器和命令的状态才能执行。您可以使用以下命令在名为 ubuntu_bash 的容器上启动交互式的 bash shell:

docker exec -it ubuntu_bash bash

这里的[OPTIONS] –it 与“docker run”命令中的相同。 更多[OPTIONS]和[ARG...]的示例如下所示:

docker exec -d -w /temp ubuntu_bash touch my_file.sh
  • -w 后跟目录或文件路径,您可以说明要在哪个工作目录中运行命令;
  • -d 或 –detached 表示容器将以分离模式运行,因此您仍然可以继续将终端会话和在后台运行的容器一起使用。如果要查看容器发送到 STDOUT 的内容,请不要使用此选项;
  • 该命令用于创建名为 my_file.sh 的文件,在 /temp 目录下运行名为 ubuntu_bash 的容器;

想了解更多关于“docker exec”的更多[OPTIONS]信息,请查看https://docs.docker.com/engine/reference/commandline/exec/。


了解更多

除了这两个命令之外,还有其他一些具有细微差别的 Docker 命令,例如 run 与 build 与create 的相似之处。了解更多并尝试不同的 docker 命令可以帮助您成为使用这种强大云技术的专业人士。

“docker run”VS“docker exec”,这两个命令有区别吗?相关推荐

  1. linux重启docker镜像没了,解决docker run 或者 docker restart 启动镜像就自动退出

    执行命令:docker run --name centos8 -d centos /bin/bash,通过docker ps查看正在运行中容器,找不到centos8. 通过docker ps -a查看 ...

  2. docker run与docker start的区别?

    docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start). docker start的作用是:重新启动已 ...

  3. docker run 与docker start的区别

    引用:http://www.wangminli.com/?p=1184 docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即 ...

  4. docker run和docker start的区别

    docker run: docker run :创建一个新的容器并运行一个命令,是将镜像放入容器并启动容器. docker run一般需要跟几个参数,如下所示: docker run -it --na ...

  5. docker run 与 docker start区别

    说明, docker run 和docker start 都是运行一个docker容器, 区别在于 1. docker run (使用镜像image) docker run是创建一个新容器,并运行 ( ...

  6. docker run 或者 docker restart 启动镜像就自动退出

    执行命令:docker run --name centos8 -d centos /bin/bash,通过docker ps查看正在运行中容器,找不到centos8.通过docker ps -a查看发 ...

  7. 别傻傻分不清docker run 和 start 的区别了

    docker run 和 start 的区别 1.docker run docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即 ...

  8. docker Swarm简介 新旧版本操作不一样docker run --rm swarm create和docker swarm --init

    https://www.cnblogs.com/franknihao/p/8490416.html https://cloud.tencent.com/developer/section/109194 ...

  9. docker run

    一.docker run 简介 docker run命令可以与docker commit命令结合使用,以改变容器运行的命令. $ docker run [OPTIONS] IMAGE [COMMAND ...

最新文章

  1. 爱可可推荐!关于竞赛思路,方法和代码实践,数据竞赛Baseline开源分享!
  2. Python多任务(5. 进程之间的通信-Queue队列)
  3. python自动炒股软件下载_python自动股票交易软件
  4. linux需要的GLIBCXX版本,linux-如果我已经安装了GLIBCXX_4.1.2,则需要GLIBCXX_3.4.9吗?
  5. Django Web实现动态三级联动
  6. 在Oracle的FORM中对不同的状态采取不同的颜色显示
  7. Convert Sorted Array to Binary Search Tree(将有序数组转为二叉搜索树)
  8. In-App Purchase 实战
  9. Java实现俄罗斯方块游戏(简单版)
  10. 计算机电源 通电,笔记本电脑开不了机,通电后电源指示灯不亮
  11. eclipse启动报错,显示找不到指定路径的JRE
  12. 《Adobe Photoshop CS6中文版经典教程》目录—导读
  13. mysql如何存储非结构化数据_数据库-数据存储-非结构化数据的存储方式
  14. 20亿人欢庆开斋节,出口企业该如何把握Q2爆单潮
  15. 举例:在从库上备份,到主库上恢复
  16. OSPF协议原理及配置4-邻接关系的建立和LSDB同步
  17. 西门子et200 分布式i/o_西门子S7-1500H冗余系统硬件及网络结构
  18. Postman+Newman命令运行
  19. Will的将来时态_40
  20. windows11删除微软账户,使用本地账户登录,解除绑定

热门文章

  1. 蓝桥杯 ALGO-114 算法训练 黑白无常
  2. PAT 1072. 开学寄语(20)-PAT乙级真题
  3. 【Objective-C】栈(stack)和堆(heap)的区别
  4. 1023. 组个最小数 (20)-PAT乙级真题
  5. RedHat Linux下获取snmp信息不全的解决办法
  6. Linux笔记(df命令,du命令,磁盘分区)
  7. 【No.4 Ionic】修改 cordova 插件
  8. AngularJS学习笔记(1) - AngularJS入门
  9. 艾伟也谈项目管理,学习腾讯的产品管理之道
  10. 共合网,风投的概念和阳谋