为什么运行一些docker图像必须添加一个命令?
我发现在使用docker run
命令的时候,有时不需要添加“command”,而有时候“command”是必须的。 例如,没有命令运行ubuntu
图像是好的:
# docker run ubuntu #
运行这个mstormo/suse
映像时必须添加一个命令:
# docker run mstormo/suse Error response from daemon: No command specified # docker run mstormo/suse bash #
那么这与指定的图像有关吗?
Docker镜像可以select包含一个默认命令 ,在命令行上没有任何命令时运行。
如果没有给出默认命令,则它必须由调用者提供。
如果你看看Ubuntu的Dockerfile ,他们有
CMD ["/bin/bash"]
所以,如果你不这样说,它会为你运行。
在mstormo / suse中没有这样的设置。
- 如何使Cake-build的示例项目在Docker上工作
- 运行Docker-client Java API时,Apache Connection被拒绝
- 为什么docker CMD中jar的执行通配符不起作用?
- 如何在多台远程机器上使用docker swarm设置多主机networking
- 如何编写Dockerfile来更改Docker镜像中的受保护文本文件?
- 在Docker中安装Jenkins插件(mercurial)显示在插件文件夹中,但不在Jenkins本身中
- 如何引用一个内部dockerregistry?
- Docker卷数据不会保存到mac中的主机文件夹
- 运行docker-compose会阻塞docker-machine上的networking