dockerfile文件:copy和add 异同

相同点:

  1. 复制文件或目录: 无论是 COPY 还是 ADD 都可以将文件或目录从构建上下文复制到容器中。
  2. 支持源路径和目标路径: 两者都需要指定源路径和目标路径,用于指定要复制的文件或目录在主机上的位置以及在容器中的目标路径。

不同点:

  1. 自动解压缩:

    • COPY:仅用于复制本地文件到镜像,不涉及解压缩操作。
    • ADD:除了复制文件外,还具有自动解压缩的功能。如果源路径为 URL 地址或压缩文件,ADD 会尝试自动解压缩文件到目标路径。
  2. 构建上下文影响:

    • COPY:只能复制构建上下文中的文件,不能复制 URL 地址或压缩文件。
    • ADD:可以复制构建上下文中的文件,同时也支持复制远程 URL 地址和解压缩压缩文件。
  3. 最佳实践:

    • 通常情况下,推荐使用 COPY 来简单地复制本地文件到容器中,这样可以避免意外的解压缩行为,也更符合直觉。
    • 使用 ADD 时,需要谨慎处理,避免不必要的自动解压缩带来的安全风险。

综上所述,对于简单的文件复制操作,推荐使用 COPY 指令。只有在确实需要自动解压缩或复制远程文件的情况下,才考虑使用 ADD

相关推荐
yuweiade1 小时前
docker desktop安装redis
redis·docker·容器
IT成长史1 小时前
Windows D盘安装Docker Desktop全流程(避坑+ECR镜像推送实战)
java·docker
huabiangaozhi1 小时前
Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像
docker·容器·tomcat
cyber_两只龙宝2 小时前
【Docker】Dockerfile构建镜像实验全流程详解
linux·运维·docker·云原生
人间打气筒(Ada)2 小时前
「码动四季·开源同行」docker容器单机编排docker-compose
运维·docker·容器·docker-compose·容器编排·批量·docker compose
小学鸡!2 小时前
win10/win11下载安装Docker,Windows安装Docker Desktop 【保姆级教程】
windows·docker·容器
夜星辰20232 小时前
在 Ubuntu 里创建 Docker 容器,与在 Windows 上安装 VMware Workstation Pro 虚拟机的区别
windows·ubuntu·docker
谁在黄金彼岸2 小时前
MariaDB Docker容器权限配置问题分析与解决方案
后端·docker·容器
慢慢开始吧2 小时前
一套搞定!基于 Docker + Jenkins + Harbor 的国产多系统自动化编译流水线实战全纪录
docker·程序员
ywlovecjy3 小时前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker