最近更新时间:2021-03-03 10:31:49
在默认的情况下,镜像会运行默认的命令,如果我们想运行一个特定的命令或重写镜像的默认值,这里需要使用到以下三个设置:
指定运行命令的工作目录。若镜像中未指定工作目录,且在控制台未指定,则默认为"/"。
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] |
纯净模式