24·Dockerfile入门

COPY 与 ADD

COPY 与 ADD

COPY

# 复制文件
COPY index.html /usr/share/nginx/html/

# 复制目录
COPY src/ /app/src/

# 通配符
COPY *.py /app/

# 保持目录结构
COPY --chown=app:app src/ /app/src/

ADD

# ADD 比 COPY 多两个功能:
# 1. 自动解压 tar 文件
ADD archive.tar.gz /app/

# 2. 支持远程 URL
ADD https://example.com/file.txt /app/

COPY vs ADD

功能COPYADD
复制文件
解压 tar
远程 URL
推荐度⭐ 推荐特殊场景

最佳实践

# ✅ 优先用 COPY(行为明确)
COPY requirements.txt /app/
RUN pip install -r requirements.txt
COPY . /app/

# ❌ 避免 ADD(除非需要解压)
ADD . /app/

小结

指令推荐度说明
COPY首选,行为明确
ADD⚠️仅用于解压 tar

练习编辑器

bash
Loading...