首页/云/Kubernetes 速查/command 与 args 覆盖容器启动命令

command 与 args 覆盖容器启动命令

清单里的 command 覆盖镜像 ENTRYPOINT,args 覆盖 CMD;两者的组合矩阵决定容器最终执行什么,是定制镜像行为的常用手段。

Kubernetes 速查云更新于 2026-10-12

覆盖规则

commandargs最终效果
未设未设用镜像 ENTRYPOINT + CMD
未设设置了ENTRYPOINT + 新 args
设置了未设只执行新 command(原 CMD 丢弃)
设置了设置了新 command + 新 args

示例

示例
containers:
  - name: app
    image: registry.example.com/app:1.26.0
    command: ["/bin/sh", "-c"]
    args: ["exec /app/server --config=/etc/app/config.yaml"]
写 command 时注意镜像里可执行的绝对路径;调试可用 kubectl exec 进入后手动验证命令。

易错点

  • 只写 command 会丢掉镜像 CMD 的默认参数,很多「命令拼错」问题源于此,先明确镜像原始 ENTRYPOINT
  • shell 写法依赖镜像里有 /bin/sh;distroless 镜像必须用绝对路径直接执行二进制

数据来源与参考

  • Kubernetes 官方文档 · Pods(容器命令与参数)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌