为什么一些docker镜像在运行时需要命令?

时间:2016-03-17 03:59:16

标签: docker

我在使用docker run时发现我有时不需要添加“命令”,而有时候“命令”是必须的。例如。运行ubuntu图像时,不需要命令:

# docker run ubuntu
#

在运行mstormo/suse时:

# docker run mstormo/suse
Error response from daemon: No command specified
# docker run mstormo/suse bash
#

这与指定的图像有关吗?

1 个答案:

答案 0 :(得分:9)

当命令行没有给出时,Docker镜像可以选择include a default command运行。

如果没有给出默认命令,则必须由调用者提供。

如果查看Dockerfile for ubuntu,他们就有

CMD ["/bin/bash"]

因此,如果您不这样说,它将为您运行bash

mstormo/suse中没有此类设置。