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

为什么Dockerfile中COPY的文件被放到镜像根目录而非工作目录

问题原因

这是COPY指令的路径规则决定的,和WORKDIR的作用范围有关:

  • WORKDIR /usr/src/app仅会为后续使用相对路径的指令(包括RUN、CMD、ENTRYPOINT以及目标为相对路径的COPY/ADD)设置默认工作目录,不会修改绝对路径的指向。
  • 你当前Dockerfile中的COPY ["somefile", "/"],第二个参数/是明确的绝对路径,直接指向容器根目录,所以Docker会直接把somefile复制到根路径下,完全不受前面WORKDIR配置的影响。

修正方案

如果要把somefile复制到/usr/src/app目录下,修改COPY指令即可,可选写法如下:

# 写法1:使用相对路径,会自动拼接前面配置的WORKDIR
COPY ["somefile", "./"]

# 写法2:直接指定目标绝对路径
COPY ["somefile", "/usr/src/app/"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 19:54:02