我是Linux世界的新手,并尝试学习Docker。
我有两个示例:
#example 1
$ docker run -ti ubuntu:latest bash
#example 2
$ docker run -ti ubuntu:latest
在示例1中,它可以允许我访问终端,示例2是相同的结果。我知道添加bash会创建一个bash会话,如果这意味着能够运行bash脚本,我可以在两个示例上进行 echo
,因此我并没有真正看到区别。
将bash
添加到docker run
到底是什么?在此上下文的情况下,拥有和没有bash
参数的区别是什么?
指定一个显式命令覆盖dockerfile中给出的默认命令。
如果Dockerfile中的默认CMD
已经bash,则在命令行上指定bash
没有效果。
如果您在Github上查看Ubuntu Dockerfile,则可以看到这里的情况:
CMD ["bash"]
因此,您只是明确地断言命令默认情况下已运行的。