首页 > 其他分享 >Dockerfile中'COPY'和'ADD'命令的区别是什么?

Dockerfile中'COPY'和'ADD'命令的区别是什么?

时间:2023-10-30 23:23:04浏览次数:39  
标签:容器 区别 文件系统 ADD COPY Dockerfile

内容来自 DOC https://q.houxu6.top/?s=Dockerfile中'COPY'和'ADD'命令的区别是什么?

Dockerfile中COPYADD命令的区别是什么,以及何时使用其中一个而不是另一个?

COPY <src> <dest>

COPY指令将从<src>复制新文件,并将它们添加到容器的文件系统路径<dest>

ADD <src> <dest>

ADD指令将从<src>复制新文件,并将它们添加到容器的文件系统路径<dest>


你应该查看ADDCOPY文档以获得更详细的描述,但简而言之,主要区别在于ADD可以做比COPY更多的事情:

  • ADD允许<src>是一个URL
  • 下面引用的注释表明:

如果是一个被识别的压缩格式(identity、gzip、bzip2或xz)的本地tar存档,则将其解压缩为一个目录。来自远程URL的资源不会被解压缩。

注意,在编写Dockerfile的最佳实践建议中,如果不需要ADD的魔法,应该使用COPY。否则,你可能有一天会意外地将keep_this_archive_intact.tar.gz复制到容器中,而是将内容喷到你的文件系统中。

标签:容器,区别,文件系统,ADD,COPY,Dockerfile
From: https://www.cnblogs.com/xiaomandujia/p/17799171.html

相关文章

  • 论文阅读笔记——LAVA: Large-scale Automated Vulnerability Addition
    LAVA:Large-scaleAutomatedVulnerabilityAdditionBrendanDolan-Gavitt∗,PatrickHulin†,EnginKirda‡,TimLeek†,AndreaMambretti‡,WilRobertson‡,FrederickUlrich†,RyanWhelan†(Authorslistedalphabetically)∗[email protected]......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • JUC高并发容器-CopyOnWriteArrayList
    CopyOnWriteArrayListJUC高并发容器线程安全的同步容器类什么是高并发容器?CopyOnWriteArrayListJUC高并发容器线程安全的同步容器类  Java同步容器类通过Synchronized(内置锁)来实现同步的容器,比如Vector、HashTable以及SynchronizedList等容器。线程安全的同步容器类主要有Vec......
  • EF Core 6.0.0.7无法将add-migration项识别为 cmdlet
    EFCore6.0.0.7无法将add-migration项识别为cmdlet解决方案:重新安装Microsoft.EntityFrameworkCore.Tools程序包管理器控制台主机版本6.2.1.2键入"get-helpNuGet"可查看所有可用的NuGet命令。PM>install-packageMicrosoft.EntityFrameworkCore.Tools......
  • Java基础 InetAddress
    publicstaticvoidmain(String[]args)throwsException{//address是IP的对象,也是一台电脑的对象InetAddressaddress=InetAddress.getByName("172.18.153.251");System.out.println(address.getHostName());System.out.println(address.getHostAddress()......
  • LongAdder为什么在高并发下保持良好性能?LongAdder源码详细分析
    文章目录一、LongAdder概述1、为什么用LongAdder2、LongAdder使用3、LongAdder继承关系图4、总述:LongAdder为什么这么快5、基本原理二、Striped64源码分析1、Striped64重要概念2、Striped64常用变量或方法3、静态代码块初始化UNSAFE4、casBase方法5、casCellsBusy方法6、getProbe......
  • 无涯教程-Clojure - Adding a New Key to the Structure函数
    由于结构是不可变的,因此可以将另一个键添加到结构中的唯一方法是创建新结构。示例(nsclojure.examples.example(:gen-class))(defnExample[](defstructEmployee:EmployeeName:Employeeid)(defemp(struct-mapEmployee:EmployeeName"Learnfk":Employeei......
  • 【IC 文案编辑排版软件】InCopy CC2018 for Mac 中文汉化版下载
    AdobeInCopyCC2018forMac中文汉化版是Adobe公司发布的一款专业的文案编辑排版软件,简称ICCC2018Mac版。AdobeInCopyCC2018采用了更加现代化的UI设计,并且增加了对HIDPI和视网膜显示屏的支持,增强了字体搜索功能和灵活的页面访问,更加精确字数,随心同步字体,提高工作效率。软件......
  • git add后的代码丢失了怎么找回
    打开项目所在文件夹,点击鼠标右键,选择GitBashHere 1、首先执行下列命令,列出最近的150个改动文件,可以根据自己大概变动的文件数设置相应的值。find.git/objects-typef|xargsls-lt|sed150q 2、进入.git目录,如果没有该文件夹,执行如下操作3、在.git目录里分别......
  • org.apache.subversion.javahl.ClientException: The working copy needs to be upgra
    eclipse不编译,每次修改代码控制台都显示错误svn:Theworkingcopyneedstobeupgradedorg.apache.subversion.javahl.ClientException:Theworkingcopyneedstobeupgradedsvn:Workingcopy‘E:\aliyun-spirit\spiritmap0916′istooold(format10,createdbySubversi......