Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker:Docker运行it容器和Docker运行it容器bash之间有什么区别_Docker - Fatal编程技术网

Docker:Docker运行it容器和Docker运行it容器bash之间有什么区别

Docker:Docker运行it容器和Docker运行it容器bash之间有什么区别,docker,Docker,我是Docker的新手,我知道运行交互式容器的一种方法是: $ docker run -it image-name bash $ docker run -it image-name 或 但是,如果我使用以下选项: $ docker run -it image-name bash $ docker run -it image-name 看来我也得到了同样的结果。有人能解释一下这些命令之间有什么区别吗?前两个命令启动容器,然后分别在容器内运行程序bash(在大多数情况下都是相同的) 最后一个

我是Docker的新手,我知道运行交互式容器的一种方法是:

$ docker run -it image-name bash
$ docker run -it image-name

但是,如果我使用以下选项:

$ docker run -it image-name bash
$ docker run -it image-name

看来我也得到了同样的结果。有人能解释一下这些命令之间有什么区别吗?前两个命令启动容器,然后分别在容器内运行程序
bash
(在大多数情况下都是相同的)

最后一个版本启动容器,然后使用CMD指令运行映像中指定的程序。一些映像,尤其是只包含基本操作系统的映像,也定义了
/bin/bash
或其他shell。在这些情况下没有区别

但是,如果您使用的图像中有另一个指定为命令的程序(例如mysql),您会注意到其中的差异

为了使事情更加复杂,图像还可以指定入口点,这再次改变了行为。请参阅相关文档