Docker:docker run -it container和docker run -it container bash之间有什么区别

时间:2017-08-04 03:44:34

标签: docker

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

$ docker run -it image-name bash

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

但是,如果我使用以下内容:

$ docker run -it image-name

我似乎得到了相同的结果。如果有任何不同,有人可以解释一下这些命令之间的区别。

1 个答案:

答案 0 :(得分:3)

前两个启动容器,然后分别运行程序bash /bin/bash(大多数情况下都是相同的)。

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

但是如果你使用另一个指定为命令的程序的图像(例如mysql),你会注意到它的不同。

为了使事情变得更复杂,图像还可以指定ENTRYPOINT,这又会改变行为。请参阅相关文档。