Dockerfile ADD和COPY指令
當從Dockerfile 中 build Docker 映象時候,你可以選擇兩種指令來新增本地的目錄或者檔案到你的映象中:ADD和COPY。這兩種指令格式基本相同並且基本是同樣的東西.
ADD <src>... <dest>
COPY <src>... <dest>
在這兩種情況中,目錄或者檔案(<src>)被複制並新增到容器的檔案系統中的指定路徑(<dest>)
ADD指令可以讓你使用URL作為<src>引數。當遇到URL時候,可以透過URL下載檔案並且複製到<dest>。
ADD的另外一個特性是有能力自動解壓檔案。如果<src>引數是一個可識別的壓縮格式(tar, gzip, bzip2, etc)的本地檔案(所以實現不了同時下載並解壓),就會被解壓到指定容器檔案系統的路徑<dest>。
有趣的是,URL下載和解壓特性不能一起使用。任何壓縮檔案透過URL複製,都不會自動解壓。
Currently the ADD command is IMO far too magical. It can add local and remote files. It will sometimes untar a file and it will sometimes not untar a file. If a file is a tarball that you want to copy, you accidentally untar it. If the file is a tarball in some unrecognized compressed format that you want to untar, you accidentally copy it.
COPY不支援URL,也不會特別對待壓縮檔案。如果build 上下檔案中沒有指定解壓的話,那麼就不會自動解壓,只會複製壓縮檔案到容器中。
ADD <src>... <dest>
COPY <src>... <dest>
在這兩種情況中,目錄或者檔案(<src>)被複制並新增到容器的檔案系統中的指定路徑(<dest>)
ADD指令可以讓你使用URL作為<src>引數。當遇到URL時候,可以透過URL下載檔案並且複製到<dest>。
ADD的另外一個特性是有能力自動解壓檔案。如果<src>引數是一個可識別的壓縮格式(tar, gzip, bzip2, etc)的本地檔案(所以實現不了同時下載並解壓),就會被解壓到指定容器檔案系統的路徑<dest>。
有趣的是,URL下載和解壓特性不能一起使用。任何壓縮檔案透過URL複製,都不會自動解壓。
Currently the ADD command is IMO far too magical. It can add local and remote files. It will sometimes untar a file and it will sometimes not untar a file. If a file is a tarball that you want to copy, you accidentally untar it. If the file is a tarball in some unrecognized compressed format that you want to untar, you accidentally copy it.
COPY不支援URL,也不會特別對待壓縮檔案。如果build 上下檔案中沒有指定解壓的話,那麼就不會自動解壓,只會複製壓縮檔案到容器中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2138821/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Dockerfile:ADD VS COPYDocker
- 『現學現忘』Docker基礎 — 38、COPY指令和ADD指令Docker
- Dockerfile小記之操作檔案的命令ADD©Docker
- DOCKERFILE的CMD指令和ENTRYPOINT指令Docker
- Dockerfile CMD和ENTRYPOINT指令Docker
- Dockerfile ,ADD詳細解讀Docker
- Dockerfile常用指令Docker
- Docker的Dockerfile指令Docker
- Dockerfile 第5關:ONBUILD和VOLUME指令DockerUI
- 概述看是相似的COPY 與 ADD 命令
- Dockerfile中指令詳解Docker
- docker之Dockerfile指令介紹Docker
- Dockerfile---指令碼自動化Docker指令碼
- add exttrail 和add rmttail總結AI
- 解讀三組容易混淆的Dockerfile指令Docker
- Docker - 02 建立映象 Dockerfile 指令速查表Docker
- Dockerfile 第4關:ENV、EXPOSE、WORKDIR、ARG指令Docker
- nginx listen指令淺析之add listenNginx
- 小心Nginx的add_header指令NginxHeader
- git add all和git add .區別Git
- Dockerfile和DockerCompose的使用Docker
- Rust中的Copy和CloneRust
- retain 和copy的區別AI
- rman映像copy自動備份的一個指令碼指令碼
- Dockerfile小記之ARG和ENVDocker
- iOS strong和copy的區別iOS
- DockerfileDocker
- Python基礎系列-copy和deepcopyPython
- iOS中copy和strong的個人理解iOS
- Docker, Dockerfile, 和Docker Compose區別 | BaeldungDocker
- Dockerfile指令與Docker-compose容器編排-搭建docker私有倉庫Docker
- 【TensorFlow基礎】tf.add 和 tf.nn.bias_add 的區別
- 你知道 go 切片的 copy 和 view 嗎GoView
- rman_copy和基本命令記載
- Dockerfile技巧Docker
- Docker DockerfileDocker
- 一個dockerfile例子(參考著寫dockerfile)Docker
- PostgreSQL:COPYSQL