【Docker】:映象檔案操作
筆者因為在工作當中需要使用Docker來將機器學習和深度學習的演算法部署到雲端,因此開始Docker的學習。機器學習當中常常使用Docker來進行環境的部署,而深度學習則可以採用NVdocker,都是很不錯的選擇。
一.拉取映象到本地
一般情況下我們都在docker.hub這個網站下拉取(pull)映象(image)到本地(local)上進行執行。這個網站相當於是docker的一箇中央倉庫,儲存了docker當中的各種映象檔案,我們都可以從這裡進行下載。開啟這個網站,如下所示:
備註:什麼是映象檔案?
回答:一種已經配置好的某種軟體環境,我們下載下來就可以直接使用這種環境,而無需自己再次進行配置,眾所周知,配置環境對程式設計師來說是一種很煩心的事情。比如mysql的環境,tomcat的環境,等等等等。
問題2:什麼是容器?
回答:已經正在執行的映象檔案就叫做容器,沒執行的映象就還叫做映象。
好了,然後我們往下拉這個介面,點選see all official images,然後搜尋tomcat,這裡就中央倉庫當中的所有映象檔案了,搜尋過後的結果如下圖所示:
在這個圖的右下角出現了docker在linux下安裝的命令,因此我們複製它,在前面加上sudo命令利用管理員許可權在linux下執行,筆者因為在海外,這裡是沒有牆的,因此可以快速下載,不需要國內的各種網站來下載,程式碼如下:
sudo docker pull tomcat
執行命令之後linux系統如下所示:
然後檢視當前已經下載的映象:
sudo docker images
發現tomcat已經在其中了,如下所示:
然後我們刪除其中的image,“hello-world”,使用命令:
sudo docker rmi -f bf
rmi:表示刪除的意思
-f:強制刪除,如果不能刪除再加上這個引數
bf:仔細看上圖可以發現hello world的image id為:bf756f....,因此加上這個表示我們要刪除的是哪一個image,可以簡寫,假設沒有重複的話
刪除之後重新檢視當前的images如下:
發現果然helloworld沒了。
二.將已經拉取到本地的image,進行載入和執行
我們可以使用以下命令對image進行匯出,匯出之後才可以進行載入:
sudo docker save -o 匯出的路徑 映象的ID
我們現在來載入剛才的這個tomcat環境:
sudo docker save -o ./tomcat f7
刪除掉剛才拉pull進來的tomcat的image,只剩下我們匯出(derive)的image:
sudo docker rmi -f f7
將已經匯出的image載入進來:
sudo docker load -i tomcat
現在我們肯定沒有之前pull下來的image檔案了,因此如果出現了相同的tomcat的image檔案說明肯定是我們匯出來再載入進來的而不是之前pull下來的那個image檔案,因此我們輸入命令檢視當前的images有哪些:
sudo docker images
如下圖所示:
最後發現我們的tomcat的環境的名稱為None,為了後續我們方便使用,因此使用tag關鍵字對tomcat的none進行重新命名為tomcat,同時其tag命名為8.5,表示版本為8.5,程式碼如下:
sudo docker tag f7 tomcat:8.5
這就是有關映象檔案image的所有操作啦!