一、 Docker導出鏡像概述
Docker是一種全新的虛擬化技術,通過Docker,開發者可以將應用程序及其依賴打包成一個鏡像。如此一來,開發者在不同環境下只需要運行這個鏡像就能夠保證這個應用程序可以正常運行。
Docker官方支持的鏡像倉庫是 Docker Hub,其中保存了眾多的鏡像供用戶下載使用。Docker Hub 中的鏡像源都是從Docker Hub公共的鏡像中心而來的,用戶可以在 Docker Hub 頁面或者從命令行中搜索並下載自己所需要的鏡像,無需手動編譯和配置。
有時候,用戶可能需要將自己在Docker中打包的鏡像導出到本地,這樣可以方便的在本地進行測試、備份、共享等操作。本文主要介紹如何將一個Docker鏡像導出到本地。
二、 Docker導出鏡像到本地
將Docker鏡像從遠程伺服器上導出到本地,需要使用Docker提供的命令:docker save。Docker save命令的語法如下:
docker save [OPTIONS] IMAGE [IMAGE...]
該命令需要指定鏡像的名稱和需要導出的文件名稱,例如:
docker save busybox:latest -o busybox.tar
上述命令中,busybox:latest是需要導出的鏡像的名稱,-o 表示鏡像的輸出路徑為 busybox.tar。
Docker save 命令還提供了一些可選參數,例如:
- -o:表示將要輸出的鏡像文件的名稱;
- –output:表示將要輸出的鏡像文件的名稱(與 -o 參數等價);
- –quiet,-q:表示將輸出的過程設置為不顯示詳細信息。
例如:
docker save busybox:latest -o busybox.tar -q
導出的鏡像文件保存後,就可以將這個文件通過其他方式移動到其他地方或者伺服器上。
三、 Docker導入本地鏡像
使用Docker save導出鏡像文件後,用戶可以將鏡像文件導入到本地的Docker倉庫中。導入鏡像到本地需要使用 Docker load 命令。Docker load 命令的語法如下:
docker load [OPTIONS]
使用 Docker load 命令導入鏡像文件,需要使用-i選項指定導入的文件。例如:
docker load -i busybox.tar
在導入的過程中,用戶也可以指定一些其他的參數,例如:
- –input, -i:表示輸入文件的位置。
- –quiet, -q:表示將輸出全面設置為不顯示詳細信息。
例如:
docker load -i busybox.tar -q
四、 Docker導出鏡像到本地的其他方法
除了使用 Docker save 命令將鏡像導出到本地之外,還有其他的方法,例如使用 Docker export 或者將鏡像存成一個 tar 包的形式。這兩種方法的區別在於:Docker export 只導出容器的文件系統,而不包含容器的元數據。
五、 使用 Docker export 導出容器
使用 Docker export 命令可以將一個容器的文件系統導出為一個 tar 文件。Docker export 命令的語法如下:
docker export [OPTIONS] CONTAINER
該命令需要指定容器的名稱和需要導出的文件名稱,例如:
docker export container_name > container.tar.gz
上述命令中container_name表示需要導出的容器名稱,> 表示將導出的文件輸出到 container.tar.gz。
需要注意的是,Docker export 命令雖然可以導出容器的文件系統,但是並不包含容器的元數據,例如容器的命令、網路配置、暴露的埠等信息。
六、 將鏡像存成 tar 包形式
Docker提供了一個命令docker save可以將鏡像打包成一個 tar 包的形式。所以,用戶可以使用 Docker save 命令將需要導出到本地的鏡像保存為 tar 包文件。導出壓縮包的命令示例:
docker save -o busybox_1.tar busybox:1.0.0
上述命令中busybox:1.0.0表示需要打包的鏡像名稱,-o指定了輸出路徑為busybox_1.tar。
接下來使用 tar 命令壓縮這個 tar 包文件:
tar czvf busybox_1.tar.tgz busybox_1.tar
上述命令中,czvf選項的含義是:
c:創建一個新的 tar 包;
z:通過 gzip 壓縮 tar 包;
v:顯示壓縮和解壓縮的進度;
f:將數據寫入指定的文件
經過上述步驟完成後,用戶就得到了一個可以通過其他方式移動到其他地方或者伺服器上的壓縮包。
結論
本文主要闡述了 Docker 導出鏡像到本地的兩種方式——使用 Docker save 命令將鏡像保存為 tar 包形式或者使用 Docker export 命令將一個容器的文件系統導出為一個 tar 文件。同時,本文還介紹了如何在本地導入這些導出的文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158391.html