Dockerfile 指令 ADD 和 COPY介绍

简介:

一、ADD指令

ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录、以及一个URL标记的文件 拷贝到镜像中。

其格式是: ADD  源路径  目标路径

如:

复制代码
复制代码
#test
FROM ubuntu
MAINTAINER hello
ADD test1.txt test1.txt
ADD test1.txt test1.txt.bak
ADD test1.txt /mydir/
ADD data1  data1
ADD data2  data2
ADD zip.tar /myzip
复制代码
复制代码

有如下注意事项:

1、如果源路径是个文件,且目标路径是以 / 结尾, 则docker会把目标路径当作一个目录,会把源文件拷贝到该目录下。

如果目标路径不存在,则会自动创建目标路径。

2、如果源路径是个文件,且目标路径是不是以 / 结尾,则docker会把目标路径当作一个文件。

如果目标路径不存在,会以目标路径为名创建一个文件,内容同源文件;

如果目标文件是个存在的文件,会用源文件覆盖它,当然只是内容覆盖,文件名还是目标文件名。

如果目标文件实际是个存在的目录,则会源文件拷贝到该目录下。 注意,这种情况下,最好显示的以 / 结尾,以避免混淆。

3、如果源路径是个目录,且目标路径不存在,则docker会自动以目标路径创建一个目录,把源路径目录下的文件拷贝进来。

如果目标路径是个已经存在的目录,则docker会把源路径目录下的文件拷贝到该目录下。

4、如果源文件是个归档文件(压缩文件),则docker会自动帮解压。

 

二、COPY指令

COPY指令和ADD指令功能和使用方式类似。只是COPY指令不会做自动解压工作。

宋兴柱(Sindrol):转载内容,请标明出处,谢谢!

本文转自 宋兴柱 博客园博客,原文链接: http://www.cnblogs.com/songxingzhu/p/8565492.html   ,如需转载请自行联系原作者

相关文章
|
SQL XML 关系型数据库
Mybatis-Plus通过SQL注入器实现真正的批量插入
Mybatis-Plus通过SQL注入器实现真正的批量插入
6928 0
Mybatis-Plus通过SQL注入器实现真正的批量插入
|
2月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
531 1
|
9月前
|
存储 Go
Go中make和new的区别
在 Go 语言中,`make` 和 `new` 都用于分配内存,但功能不同。`make` 用于初始化切片、映射和通道,并返回初始化后的对象;`new` 分配内存并返回指向零值的指针,适用于任何类型。`make` 返回的是数据结构本身,而 `new` 返回指针。`make` 完整初始化特定数据结构,`new` 只初始化为零值。
345 0
|
关系型数据库 MySQL 数据库
MySQL索引的类型与优化方法
MySQL索引的类型与优化方法
|
存储 Kubernetes 数据库
AWX部署
AWX部署
545 7
AWX部署
|
JSON 安全 Linux
Python日志库Loguru教程(最人性化的Python日志模块)
Loguru是一个旨在为Python带来愉悦的日志记录的库。在使用中可以让我们更加简便的使用日志功能,从而把精力放到要解决的问题上。
1279 0
Python日志库Loguru教程(最人性化的Python日志模块)
|
敏捷开发 缓存 Devops
阿里云云效产品使用合集之如何配置流水线以便在push代码时触发
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
前端开发 开发者 容器
CSS进阶-盒模型调整:box-sizing
【6月更文挑战第14天】`box-sizing`属性在CSS中调整盒模型行为,让元素宽度和高度包含内容、内边距和边框。默认是`content-box`,仅计算内容区,而`border-box`则包含所有。不一致的布局、预期尺寸不符和复杂计算错误是常见问题。使用`* { box-sizing: border-box; }`可简化布局,确保元素尺寸直观一致。了解和正确使用`box-sizing`能提升布局效率和准确性。
343 0
|
算法 NoSQL JavaScript
常见的限流算法-python版本
常见的限流算法-python版本
260 0
常见的限流算法-python版本
|
缓存 负载均衡 Cloud Native
使用sidekick为minio集群提供负载均衡和高速缓存
使用sidekick为minio集群提供负载均衡和高速缓存
1337 0