在没有/ bin / bash命令的情况下运行docker容器

时间:2020-05-17 19:36:33

标签: docker

我用以下方法创建docker容器

sudo docker run -it ubuntu /bin/bash

在书中,我读过的docker书

容器只在我们指定的命令/ bin / bash运行时运行。

我不是用选项-it创建终端的,不需要/ bin / bash吗?如果我在docker run中不传递任何命令,会发生什么变化?

2 个答案:

答案 0 :(得分:2)

如果运行,您将得到相同的行为

sudo docker run -it ubuntu

因为ubuntu码头工人映像将/bin/bash指定为默认命令。您可以在ubuntu Dockerfile中看到它。正如@tadman在回答中所写的那样,提供命令(如/bin/bash)会覆盖默认的CMD

此外,-it并不意味着bash终端。 -t分配伪tty,-i保持STDIN打开(即使未连接)。有关更多详细信息,请参见documentation

答案 1 :(得分:1)

这是默认CMD规范的替代。您可以使用默认值运行容器,这是完全正常的,但是/bin/bash是弹开外壳的技巧,因此您可以四处走走,并查看已构建的容器,以查看其是否已正确组装和配置。

相关问题