在默认的情况下,镜像会运行默认的命令,如果我们想运行一个特定的命令或重写镜像的默认值,这里需要使用到以下三个设置:
指定运行命令的工作目录。若镜像中未指定工作目录,且在控制台未指定,则默认为"/"。
Docker 的镜像拥有存储镜像信息的相关元数据,如果不提供运行命令和参数,容器运行会运行镜像制作时提供的默认的命令和参数,Docker 原生定义这两个字段为 “ Entrypoint ” 和 " CMD "。详情可查看 Docker的 Entrypoint 和 CMD说明。
如果要覆盖默认的Entrypoint 与 CMD,需要遵循如下规则:
下表涵盖了各类设置场景:
镜像Entrypoint | 镜像CMD | 容器command | 容器args | 最终执行 |
---|---|---|---|---|
[touch] | [/usr/test] | 未设置 | 未设置 | [touch /usr/test] |
[touch] | [/usr/test] | [mkdir] | 未设置 | [mkdir] |
[touch] | [/usr/test] | 未设置 | [opt/test] | [touch /opt/test] |
[touch] | [/usr/test] | [mkdir] | [opt/test] | [mkdir /opt/test] |
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!