天天看點

docker學習筆記16: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      

有如下注意事項:

1、如果源路徑是個檔案,且目标路徑是以 / 結尾, 則docker會把目标路徑當作一個目錄,會把源檔案拷貝到該目錄下。

如果目标路徑不存在,則會自動建立目标路徑。

2、如果源路徑是個檔案,且目标路徑是不是以 / 結尾,則docker會把目标路徑當作一個檔案。

如果目标路徑不存在,會以目标路徑為名建立一個檔案,内容同源檔案;

如果目标檔案是個存在的檔案,會用源檔案覆寫它,當然隻是内容覆寫,檔案名還是目标檔案名。

如果目标檔案實際是個存在的目錄,則會源檔案拷貝到該目錄下。 注意,這種情況下,最好顯示的以 / 結尾,以避免混淆。

3、如果源路徑是個目錄,且目标路徑不存在,則docker會自動以目标路徑建立一個目錄,把源路徑目錄下的檔案拷貝進來。

如果目标路徑是個已經存在的目錄,則docker會把源路徑目錄下的檔案拷貝到該目錄下。

4、如果源檔案是個歸檔檔案(壓縮檔案),則docker會自動幫解壓。