Docker entrypoint 和 kubernetes 容器启动命令

下表给出了 Docker 与 Kubernetes 中对应的字段名称。

描述

Docker 字段名称

Kubernetes 字段名称

容器执行的命令

Entrypoint

command

传给命令的参数

Cmd

args

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

  • 如果在容器配置中没有设置 command 或者 args,那么将使用 Docker 镜像自带的命令及其参数。

  • 如果在容器配置中只设置了 command 但是没有设置 args,那么容器启动时只会执行该命令, Docker 镜像中自带的命令及其参数会被忽略。

  • 如果在容器配置中只设置了 args,那么 Docker 镜像中自带的命令会使用该新参数作为其执行时的参数。

  • 如果在容器配置中同时设置了 commandargs,那么 Docker 镜像中自带的命令及其参数会被忽略。 容器启动时只会执行配置中设置的命令,并使用配置中设置的参数作为命令的参数。

下面是一些例子:

镜像 Entrypoint

镜像 Cmd

容器 command

容器 args

命令执行

[/ep-1]

[foo bar]

<not set>

<not set>

[ep-1 foo bar]

[/ep-1]

[foo bar]

[/ep-2]

<not set>

[ep-2]

[/ep-1]

[foo bar]

<not set>

[zoo boo]

[ep-1 zoo boo]

[/ep-1]

[foo bar]

[/ep-2]

[zoo boo]

Last updated

Was this helpful?