首页/云/Docker 容器速查/ADD 与 COPY 的差异
镜像与构建107 条

ADD 与 COPY 的差异

ADD 在 COPY 基础上多两个能力:远程 URL 下载与本地 tar 自动解压;因为行为隐式,官方建议默认使用 COPY。

Docker 容器速查云更新于 2026-10-12
差异ADD 支持 URL 与 tar 自动解压
建议仅在需要解压 tar 时用 ADD,其余用 COPY
URL 限制不校验完整性,权限行为与普通文件不同

示例

示例
# 解压本地 tar 到 /app(自动剥离压缩)
ADD app.tar.gz /app/

# 远程文件(不自动解压,权限 600)
ADD https://example.com/releases/app.tar.gz /tmp/app.tar.gz
需要校验、解压控制或代理时,用 RUN curl -fL + sha256sum + tar 自己实现更透明。

易错点

  • ADD 的自动解压只对本地 tar 生效,URL 形式不会解压,两者行为不一致容易误判
  • 隐式解压出的文件属主与权限由归档内容决定,发布前注意核对

数据来源与参考

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