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
- 概述看是相似的COPY 與 ADD 命令
- Dockerfile常用指令Docker
- Docker的Dockerfile指令Docker
- Dockerfile指令詳解Docker
- Dockerfile中指令詳解Docker
- 小心Nginx的add_header指令NginxHeader
- Dockerfile---指令碼自動化Docker指令碼
- nginx listen指令淺析之add listenNginx
- git add all和git add .區別Git
- Copy of a Copy of a Copy
- Docker - 02 建立映象 Dockerfile 指令速查表Docker
- 解讀三組容易混淆的Dockerfile指令Docker
- Rust中的Copy和CloneRust
- Dockerfile和DockerCompose的使用Docker
- iOS strong和copy的區別iOS
- Python基礎系列-copy和deepcopyPython
- 深、淺拷貝deepcopy()和copy()
- 【TensorFlow基礎】tf.add 和 tf.nn.bias_add 的區別
- Dockerfile小記之ARG和ENVDocker
- Dockerfile指令與Docker-compose容器編排-搭建docker私有倉庫Docker
- 你知道 go 切片的 copy 和 view 嗎GoView
- OMF管理自動新增資料檔案指令碼add_datafile.sh指令碼
- Docker - 透過IDEA和Dockerfile部署springbDockerIdeaSpring
- Docker, Dockerfile, 和Docker Compose區別 | BaeldungDocker
- COPY & SYS
- PostgreSQL:COPYSQL
- 深copy
- DockerfileDocker
- [20221101]tmux使用問題copy和paste失效.txtUXAST
- 4.5.1 add
- 技術前刊:PostgreSQL12 COPY和bulkloading提升SQL
- Dockerfile技巧Docker
- 一個dockerfile例子(參考著寫dockerfile)Docker
- JavaScript select add()JavaScript
- DataTransferItemList.add()
- 2.3 ADD CREDENTIALSTORE