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

构建Dockerfile遇路径不存在错误:failed to compute cache key: "/source" not found

Docker构建错误:"/source" not found 解决方法

错误原因

Docker构建时仅能访问构建上下文目录内的文件。你的Dockerfile位于myapp/deployment目录下,若执行构建时将上下文设为deployment目录,../source和../package*.json会指向上下文范围外的路径,Docker无法跨上下文访问文件,因此触发该错误。

解决方法

方法一:调整构建命令与Dockerfile路径

  1. 执行构建时,将上下文指定为myapp根目录,同时指定Dockerfile的相对路径:
cd myapp
docker build -t your-image-name -f deployment/Dockerfile .
  1. 修改Dockerfile中的COPY路径(去掉../,因为上下文已切换到根目录):
FROM node:18-alpine

ENV NODE_ENV=production

WORKDIR /usr/src/app

COPY package*.json /usr/src/app/

RUN npm install --production --silent 

COPY source /usr/src/app/dist

ENV PORT 3001

EXPOSE ${PORT}

ENV SERVICE_VERSION 1.0.2

ENV NODE_ENV=production  # 修正原Dockerfile中拼写错误的NODE-ENV

CMD ["node", "dist/app.js"]

方法二:迁移Dockerfile到根目录(可选)

将deployment目录下的Dockerfile移动到myapp根目录,此时构建命令简化为:

cd myapp
docker build -t your-image-name .

Dockerfile中的COPY路径无需修改,直接使用package*.json和source即可。

额外注意

  • 构建上下文目录(即命令中的.)不要包含过多无关文件,否则会增加构建时的文件传输体积。
  • 原Dockerfile中存在重复的NODE_ENV环境变量,且有一处拼写错误(NODE-ENV),建议统一修正为NODE_ENV=production,避免环境变量冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:52:06