全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

设置容器运行命令

最近更新时间:2021-03-03 10:31:49

在默认的情况下,镜像会运行默认的命令,如果我们想运行一个特定的命令或重写镜像的默认值,这里需要使用到以下三个设置:

  • 工作目录(workingDir):指定运行命令的工作目录。
  • 运行命令(command):控制镜像运行的实际命令。
  • 运行参数(args):传递给运行命令的参数。

工作目录说明

指定运行命令的工作目录。若镜像中未指定工作目录,且在控制台未指定,则默认为"/"。

设置容器启动时运行命令和参数

Docker 的镜像拥有存储镜像信息的相关元数据,如果不提供运行命令和参数,容器运行会运行镜像制作时提供的默认的命令和参数,Docker 原生定义这两个字段为 “ Entrypoint ” 和 " CMD "。详情可查看 Docker的 EntrypointCMD说明。

如果要覆盖默认的Entrypoint 与 CMD,需要遵循如下规则:

  • 如果在容器配置中没有设置command 或者 args,那么将使用Docker镜像自带的命令及参数。
  • 如果在容器配置中只设置了command但是没有设置args,那么容器启动时只会执行该命令,Docker镜像中自带的命令及其参数会被忽略。
  • 如果在容器配置中只设置了args,那么Docker镜像中自带的命令会使用该新入参作为其执行时的参数。
  • 如果在容器配置中同时设置了command 与 args,那么Docker镜像中自带的命令及其入参会被忽略。容器启动时只会执行配置中设置的命令,并使用配置中设置的入参作为命令的参数。

下表涵盖了各类设置场景:

镜像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]
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈