1. 程式人生 > >docker學習筆記(二)——映象的常用操作

docker學習筆記(二)——映象的常用操作

上一篇文章介紹了docker在centos中的安裝過程及核心概念講解,這一篇我們主要講解映象的常用操作。

1. 獲取映象

命令:

docker pull <域名>/<namespace>/<repo>:<tag>

例如:

docker pull ubunt

說明:
映象是Docker執行容器的前提。
使用者可以使用docker pull 命令從網路上下載映象。執行如上命令即可下載ubuntu的映象,當然如果不加域名,則預設到Docker hub官方倉庫 https://hub.docker.com/ 搜尋下載映象,如果不顯式地指定tag,則預設會選擇latest標籤,即下載倉庫中最新版本的映象。
這裡寫圖片描述


ubuntu的映象下載比較慢,耐心等待。

2. 檢視映象列表

命令:

docker images

說明:
使用docker images命令可以列出本地主機上已有的映象。
資訊含義:來自於哪個倉庫、映象的標籤資訊、映象的ID號(唯一)、建立時間、映象大小。
這裡寫圖片描述
可以看到我們剛剛下載好的ubuntu映象。

3. 檢視映象資訊

命令:

docker inspect <image_id>

如:

docker inspect f2a91732366c

說明:
docker inspect命令返回的是一個JSON的格式訊息,如果我們只要其中的一項內容時,可以通過-f引數來指定。Image_id通常可以使用該映象ID的前若干個字元組成的可區分字串來替代完成的ID。
這裡寫圖片描述


如果只想檢視Created屬性,可以

docker inspect -f {{.Created}} f2a91732366c 

這裡寫圖片描述
其他屬性同理。

如果覺得image_id過長的話,可以嘗試只輸入image_id的前幾位,不過要保證輸入的前幾位沒有重複的。
這裡寫圖片描述
可以看到,結果和上面的一樣。

4. 查詢映象

命令:

docker search <image_name>

說明:
使用docker search命令可以搜尋遠端倉庫中共享的映象,預設搜尋Docker hub官方倉庫中的映象。列名分別為映象名稱、映象描述、獲得stars數、是否為官方映象、是否自動構建。
這裡寫圖片描述

5. 刪除映象

命令:

docker rmi <image>:<tag>

說明:
使用docker rmi命令可以刪除映象,其中image可以為標籤或ID。
注意:
當同一個映象擁有多個標籤,docker rmi只是刪除該映象多個標籤中的指定標籤而已,而不影響映象檔案。
當有該映象建立的容器存在時,映象檔案預設是無法被刪除的。

為了測試,我們先給ubuntu映象打個標籤,命令:

docker tag 0458a4468cbc linsuren/ubuntu:test

這裡寫圖片描述
可以看到現在已經多出了一個image id和ubuntu相同的映象,只是TAG不同。
現在我們把它刪掉,命令:

docker rmi linsuren/ubuntu:test

這裡寫圖片描述
現在ubuntu只有一個映象了,如果我們現在執行

docker rmi ubuntu:latest

則會把該映象檔案徹底刪除。

現在我們用ubuntu建立一個容器,並輸出Hello World,再嘗試刪除映象,發現不能刪除,但是我們可以加上-f實現強制刪除,當然並不建議大家這樣做。
這裡寫圖片描述

6. 建立映象

建立映象的方法有三種:基於已有的映象的容器的建立、基於本地模板匯入、基於Dockerfile建立。
本篇主要介紹基於已有的映象的容器的建立。
命令:

docker commit <options> <container_id> <repository:tag>

引數說明:
-a , –author : 作者資訊
-m , –meassage : 提交訊息
-p , –pause=true : 提交時暫停容器執行
例如:

 docker commit -a "linsurn" -m "add test.test" 0458a4468cbc  linsurn/test

7. 遷出映象

命令:

docker save -o <image>.tar <image>:<tag>

引數說明:
-o:設定儲存壓縮後的檔名稱
說明:
可以使用docker save命令來遷出映象,其中image可以為標籤或ID。
這裡寫圖片描述

8.載入映象

命令:

docker load --input <image>.tar 或 docker load < <image>.tar

說明:
使用docker load命令可以載入映象,其中image可以為標籤或ID。
這將匯入映象及相關的元資料資訊(包括標籤等),可以使用docker images命令進行檢視。
為了便於檢視,我們先將hello-world映象刪除,再將剛才遷出的載入。
這裡寫圖片描述
我們可以看到新載入的映象倉庫名和TAG都是none,不符合規範,所以我們可以對其打TAG
這裡寫圖片描述

9.上傳映象

命令:

docker push <域名>/<namespace>/<repo>:<tag>

說明:
可以使用docker push命令上傳映象到倉庫,預設上傳到DockerHub官方倉庫(需要登入,自行註冊)。
這裡寫圖片描述
現在我們登陸自己的docker hub就可以看到新上傳的映象啦。
這裡寫圖片描述

關於映象的操作就介紹這麼多,下一篇將介紹容器的常用操作。