我是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
参数的区别是什么?
答案 0 :(得分:0)
指定显式命令会覆盖Dockerfile中给出的默认命令。
如果Dockerfile中的默认CMD
已经是bash,那么在命令行上指定bash
无效。
如果你看the ubuntu Dockerfile on github,你可以看到这种情况:
CMD ["bash"]
因此,您只是显式声明默认情况下已默认运行的命令 。