首页/云/Docker 容器速查/CMD 默认启动命令
本包目录(366 条)
基础命令50 条
镜像与构建107 条
网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

CMD 默认启动命令

定义容器启动的默认命令或参数:用户 docker run 时另给命令会整体替换它;多条 CMD 只有最后一条生效。

Docker 容器速查云更新于 2026-10-12
用途默认启动命令/参数
语法exec 形式 CMD ["可执行", "参数"] / shell 形式 CMD 命令串
替换规则run 的命令行参数覆盖 CMD

示例

示例
CMD ["nginx", "-g", "daemon off;"]
# 或 shell 形式
CMD nginx -g "daemon off;"
与 ENTRYPOINT 组合时 CMD 常承担默认参数角色:ENTRYPOINT 固定程序,CMD 提供默认参数且可被覆盖。

易错点

  • exec 形式不经 shell:管道、变量、重定向都不可用,需要时显式调 /bin/sh -c
  • shell 形式里 sh 成为 PID1 且不转发信号,停容器超时才 SIGKILL;优先 exec 形式

数据来源与参考

  • Docker 官方文档:Dockerfile CMD(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌