You need to enable JavaScript to run this app. Docker执行build构建镜像失败,停在COPY . .步骤的原因及修复方法
优惠活动
大模型
产品
解决方案
定价
更多

Docker执行build构建镜像失败,停在COPY . .步骤的原因及修复方法

问题原因

  • 构建上下文冗余文件过多:你当前执行构建的D:\Code\testing\Docker\test1目录如果已经本地执行过npm install,会生成包含数万小文件的node_modules文件夹。执行COPY . .时,Docker默认会把当前目录下所有文件传输给守护进程,文件量过大会导致进程卡住,看似步骤停止。
  • 对Dockerfile指令认知偏差:CMD是容器启动指令,不属于镜像构建阶段会执行的指令,只要构建过程没有抛出错误,走完COPY、ENV、EXPOSE步骤就已经完成镜像构建,不需要在构建输出中看到CMD相关执行记录。
  • 补充说明:你怀疑的WORKDIR /app路径不存在的问题不成立,Docker执行WORKDIR时如果指定路径不存在,会自动创建对应目录,不会引发故障。

修复方案

  • 新增.dockerignore文件:在D:\Code\testing\Docker\test1目录下新建名为.dockerignore的文件,写入以下内容:
node_modules
npm-debug.log
.git
.DS_Store
*.log

该配置会让Docker构建时忽略非必要文件,大幅降低构建上下文的体积。

  • 清理冗余文件:检查工作目录下是否有其他大体积非必要文件(如压缩包、缓存文件等),可直接删除或添加到.dockerignore的忽略列表中。
  • 重新执行构建命令:配置完成后执行原构建命令即可:
docker build -t <你的Docker ID>/firstapp:1.1 .
  • 验证构建结果:命令执行完成无报错的话,执行docker images即可看到构建完成的镜像,后续使用docker run启动容器时会自动执行CMD指定的npm start命令。

内容的提问来源于stack exchange,提问作者Pro Poop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 04:54:03