docker中copy和add指令有什麼區別
區別:COPY指令不支援從遠端URL取得資源,只能從執行docker build所在的主機上讀取資源並複製到映像中;而ADD指令支援從遠端URL取得資源,可以透過URL從遠端伺服器讀取資源並複製到鏡像中。
本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。
Dockerfile中的COPY指令和ADD指令都可以將主機上的資源複製或加入到容器映像中,都是在建置映像的過程中完成的。
DockerFile的ADD和COPY的差異
#COPY指令和ADD指令的唯一區別在於:是否支援從遠端URL取得資源。
COPY指令只能從執行docker build所在的主機上讀取資源並複製到映像中。而ADD指令也支援透過URL從遠端伺服器讀取資源並複製到鏡像中。
相同需求時,建議使用COPY指令。 ADD指令更擅長讀取本地tar檔案並解壓縮。
ADD與COPY指令
COPY同ADD的語法一致,複製拷貝檔。
ADD
複製新檔案、目錄或遠端檔案 URL
每個都
新增所有以「hom」開頭的檔案:
ADD hom* /mydir/
在下面的範例中,?被替換為任何單一字符,例如「home.txt」。
ADD hom?.txt /mydir/
ADD指令有以下的優越性:
#1、如果來源路徑是個文件,且目標路徑是以/ 結尾,則docker會把目標路徑當作一個目錄,會把來源檔案拷貝到該目錄下。
如果目標路徑不存在,則會自動建立目標路徑。2、如果來源路徑是個文件,且目標路徑是不是以 / 結尾,則docker會把目標路徑當作一個文件。
如果目標路徑不存在,會以目標路徑為名創建一個文件,內容同源文件;
如果目標文件是個存在的文件,會用源文件覆蓋它,當然只是內容覆蓋,文件名還是目標檔名。
如果目標檔案實際上是存在的目錄,則會來源檔案拷貝到該目錄下。請注意,這種情況下,最好顯示的以 / 結尾,以避免混淆。3、如果來源路徑是目錄,且目標路徑不存在,則docker會自動以目標路徑建立目錄,把來源路徑目錄下的檔案拷貝進來。
如果目標路徑是個已經存在的目錄,則docker會把來源路徑目錄下的檔案拷貝到該目錄下。4、如果來源檔案是歸檔檔案(壓縮檔案),則docker會自動幫解壓縮。
上面的優點也是ADD劣勢
推薦學習:《docker影片教學》
以上是docker中copy和add指令有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop <container_id>);啟動容器(docker start <container_id>);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]
