“docker run -ti ubuntu:latest”是否通过“bash”会有什么不同?

时间:2018-02-10 01:14:26

标签: linux bash docker

我是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参数的区别是什么?

1 个答案:

答案 0 :(得分:0)

指定显式命令会覆盖Dockerfile中给出的默认命令。

如果Dockerfile中的默认CMD已经是bash,那么在命令行上指定bash无效。

如果你看the ubuntu Dockerfile on github,你可以看到这种情况:

CMD ["bash"]

因此,您只是显式声明默认情况下已默认运行的命令