You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中COPY正常运行但ADD指令报错的问题排查

问题解析

你遇到的错误和COPY/ADD指令本身没有任何关系,核心问题出在引号的类型上:

  • 你注释掉的那段CMD [“python”, “./main.py”]用的是中文智能引号(“”),而Docker要求JSON格式的指令必须使用ASCII标准双引号("")。
  • 当你使用带智能引号的CMD时,Docker会把整个[“python”, “./main.py”]当成一个完整的shell命令去执行,而不是解析成JSON数组,所以才会出现/bin/sh: 1: [“python”,: not found的错误——它把[“python”,当成了要执行的命令名,自然找不到。

至于你觉得切换ADD就出错,是因为你切换时启用了那段带错误引号的代码;而使用COPY时用的是正确引号的CMD,所以能正常运行。在复制单个本地文件到镜像的场景下,COPY和ADD的功能完全一致,二者不会导致这类执行错误。

另外,你提到的官方教程里的智能引号,大概率是网页排版渲染时的格式问题,实际编写Dockerfile时必须使用ASCII标准引号(单引号或双引号),绝对不能用中文智能引号。

内容的提问来源于stack exchange,提问作者Casey Cushing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:45:47