Docker CMD(命令)和 ARGS(参数)使用整理

  • 来源:网络
  • 更新日期:2020-07-22

摘要:系统运维 Docker CMD(命令)和 ARGS(参数)使用整理 总览 K8S集群创建Pod时,可以为其下的容器设置启动时要执行的命令及其参数。设置命令,就填

系统运维 Docker CMD(命令)和 ARGS(参数)使用整理 总览

K8S集群创建Pod时,可以为其下的容器设置启动时要执行的命令及其参数。设置命令,就填写在配置文件的command字段下,如果要设置命令的参数,就填写在配置文件的args字段下。一旦Pod创建完成,该命令及其入参无法再进行更改。

配置文件中设置了容器启动时要执行的命令及其参数,那么容器镜像中自带的命令 与参数将会被覆盖而不再执行。如果配置文件中只是设置了入参,却没有设置其对应的命令,那么容器镜像中自带的命令会使用该新参数作为其执行时的参数。

Docker 与 Kubernetes中对应的字段名称。 描述 Docker 字段名称 Kubernetes 字段名称 容器运行的命令 Entrypoint command 传递给命令的参数集合 Cmd args 规则

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

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

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

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

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

参考答案:

https://kubernetes.io/zh/docs/tasks/inject-data-application/define-command-argument-container/

新网虚拟主机