1. 程式人生 > >跟我一起學docker(三)--鏡像的常用操作

跟我一起學docker(三)--鏡像的常用操作

docker鏡像 docker docker加速 docker鏡像操作

1.獲取鏡像:

命令:

docker pull <域名>//:

說明:

鏡像是Docker運行容器的前提。

用戶可以使用docker pull 命令從網絡上下載鏡像。對於鏡像來說,如果不顯式地指定tag,則默認會選擇latest標簽,即下載倉庫中最新版本的鏡像。

技術分享圖片

默認是從docker官方下載的。只有docker官方的可以不需要增加命名空間直接進行下載。

2.查看鏡像列表

命令:

docker images

說明:

使用docker images命令可以列出本地主機上已有的鏡像。

信息含義:來自於哪個倉庫、鏡像的標簽信息、鏡像的ID號(唯一)、創建時間、鏡像大小。

技術分享圖片


3.查看鏡像信息

命令:

docker inspect

說明:

docker inspect命令返回的是一個JSON的格式消息,如果我們只要其中的一項內容時,可以通過-f參數來指定。Image_id通常可以使用該鏡像ID的前若幹個字符組成的可區分字符串來替代完成的ID。

技術分享圖片

查看鏡像的某一個詳細信息

技術分享圖片

4.查找鏡像

命令:

docker search

說明:

使用docker search命令可以搜索遠端倉庫中共享的鏡像,默認搜索Docker hub官方倉庫中的鏡像。

技術分享圖片

5.刪除鏡像

命令:

技術分享圖片

說明:

使用docker rmi命令可以刪除鏡像,其中image可以為標簽或ID。

註意:

當同一個鏡像擁有多個標簽,docker rmi只是刪除該鏡像多個標簽中的指定標簽而已,而不影響鏡像文件。

當有該鏡像創建的容器存在時,鏡像文件默認是無法被刪除的。

如果一個鏡像就有一個tag的話,刪除tag就刪除了鏡像的本身。

一個鏡像做一個tag

技術分享圖片

執行刪除tag操作

技術分享圖片

刪除鏡像操作

技術分享圖片

重新下載鏡像,方便下一步關於鏡像和容器的關系演示

技術分享圖片

如果鏡像裏面有容器正在運行,刪除鏡像的話,會提示error,系統默認是不允許刪除的,如果強制刪除需要加入-f操作,但是docker是不建議這麽操作的,因為你刪除了鏡像其實容器並未刪除,直接導致容器找不到鏡像,這樣會比較混亂。

運行一個鏡像裏面的容器

技術分享圖片

查看運行中的容器

技術分享圖片

刪除鏡像,報錯誤error,有一個容器正在這個鏡像內運行

技術分享圖片

強制刪除

技術分享圖片

已經找不到鏡像,刪除鏡像未刪除容器的後果

技術分享圖片


6.創建鏡像

命令:

docker commit

參數說明:

-a , --author : 作者信息

-m , --meassage : 提交消息

-p , --pause=true : 提交時暫停容器運行

說明:

基於已有的鏡像的容器的創建。再次下載ubuntu,以ubuntu為例子創建

技術分享圖片

運行ubuntu,-ti把容器內標準綁定到終端並運行bash,這樣開跟傳統的linux操作系統沒什麽兩樣,現在我們直接在容器內運行。這個內部系統都是極簡的只保留我們的一些系統的運行參數,裏面很多vi命令可能都是沒有的。

技術分享圖片

退出容器exit

容器創建成鏡像的方法:

通過某個容器d1d6706627f1 創建對應的鏡像,有點類似git

技術分享圖片

發現通過docker images 裏面多了一個鏡像

liming/test的倉庫

技術分享圖片


7.遷出鏡像

命令:

技術分享圖片

參數說明:

-o:設置存儲壓縮後的文件名稱

說明:

可以使用docker save命令來遷出鏡像,其中image可以為標簽或ID。

技術分享圖片


8.載入鏡像

命令:

技術分享圖片

說明:

使用docker load命令可以載入鏡像,其中image可以為標簽或ID。這將導入鏡像及相關的元數據信息(包括標簽等),可以使用docker images命令進行查看。我們先刪除原有的liming/test鏡像,執行查看鏡像,然後在導入鏡像

技術分享圖片

為了確定導入的鏡像是否是原來刪除的那個鏡像,我們進入鏡像,查看下text.txt

是我們輸入的idig88這個內容

技術分享圖片

可能這個鏡像的名字不符合docker的要求因為都是,重新命名一下

技術分享圖片

9.上傳鏡像

命令:

docker push <域名>//:

說明:

可以使用docker push命令上傳鏡像到倉庫,默認上傳到DockerHub官方倉庫(需要登錄)。

開始提示我權限不足,因為我沒有登錄。


技術分享圖片

登錄之後提示

技術分享圖片

登錄後刪除還是權限不足

技術分享圖片

因為我們liming這個名字跟官網的zhugeaming名字不一致我修改下在試試

技術分享圖片

開始上傳了

去官網看看是否上傳成功

技術分享圖片

技術分享圖片

往期docker學習:

認識docker

核心概念和安裝

技術分享圖片


跟我一起學docker(三)--鏡像的常用操作