Docker:docker run -it容器和docker run -it容器bash有什么区别
我是Docker的新手,我知道运行交互容器的一种方式如下:
$ docker run -it image-name bash
要么
$ docker run -it image-name /bin/bash
但是,如果我使用以下内容:
$ docker run -it image-name
看来我得到了同样的结果。 有人可以解释一下这些命令之间的区别吗?
前两个启动容器,然后分别运行程序bash
/bin/bash
(在大多数情况下它们将是相同的)。
最后一个版本启动容器,然后使用CMD指令运行图像中指定的程序。 一些图像,特别是只包含基本操作系统的图像,还有/bin/bash
或其他一些在此定义的shell。 在这些情况下,没有区别。
但是,如果您使用具有另一个程序指定为命令(例如MySQL)的图像,您将注意到不同之处。
为了使事情变得更加复杂,图像还可以指定一个入口点,这又改变了行为。 请参阅相关文档。