首页/云/Docker 容器速查/JSON 数组形式的写法细节
本包目录(366 条)
基础命令50 条
镜像与构建107 条
网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

JSON 数组形式的写法细节

exec 形式必须用双引号 JSON 数组,单引号或拼接字符串都会解析失败;数组形式不做变量展开,参数原样传递。

Docker 容器速查云更新于 2026-10-12
正确写法CMD ["node", "server.js"]
错误写法CMD ['node', 'server.js'](单引号)
变量数组内 $VAR 不展开

示例

示例
CMD ["node", "server.js"]
CMD ["echo", "$HOME"]        # 输出字面量 $HOME,不展开
COPY --from=build /out/app /usr/local/bin/app
需要变量展开时套一层 shell:CMD ["/bin/sh", "-c", "exec app --port ${PORT:-8080}"]。

易错点

  • JSON 写坏时构建能过,但容器启动报 exec: "...": stat 之类错误,先看 docker inspect 里的原始配置
  • Windows 路径在 JSON 里要写成双反斜杠,Linux 场景直接正斜杠更省事

数据来源与参考

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