K8S集群建立Pod时,能够为其下的容器设置启动时要执行的命令及其参数。设置命令,就填写在配置文件的command字段下,若是要设置命令的参数,就填写在配置文件的args字段下。一旦Pod建立完成,该命令及其入参没法再进行更改。app
配置文件中设置了容器启动时要执行的命令及其参数,那么容器镜像中自带的命令 与参数将会被覆盖而再也不执行。若是配置文件中只是设置了入参,却没有设置其对应的命令,那么容器镜像中自带的命令会使用该新参数做为其执行时的参数。ide
描述 | Docker 字段名称 | Kubernetes 字段名称 |
---|---|---|
容器运行的命令 | Entrypoint | command |
传递给命令的参数集合 | Cmd | args |
若是要覆盖默认的 Entrypoint 与 Cmd,须要遵循以下规则:get
若是在容器配置中没有设置command 或者 args,那么将使用Docker镜像自带的命 令及其入参。kubernetes
若是在容器配置中只设置了command可是没有设置args,那么容器启动时只会执行该 命令,Docker镜像中自带的命令及其入参会被忽略。it
若是在容器配置中只设置了args,那么Docker镜像中自带的命令会使用该新入参做为 其执行时的入参。io
若是在容器配置中同时设置了command 与 args,那么Docker镜像中自带的命令及 其入参会被忽略。容器启动时只会执行配置中设置的命令,并使用配置中设置的入参做为 命令的入参。table
https://kubernetes.io/zh/docs/tasks/inject-data-application/define-command-argument-container/class