1. 程式人生 > >docker映象操作

docker映象操作

什麼是Docker映象

Docker映象是由檔案系統疊加而成(是一種檔案的儲存形式)。最底端是一個檔案引導系統,即bootfs,這很像典型的Linux/Unix的引導檔案系統。Docker使用者幾乎永遠不會和引導系統有什麼互動。實際上,當一個容器啟動後,它將會被移動到記憶體中,而引導檔案系統則會被解除安裝,以留出更多的記憶體供磁碟映象使用。Docker容器啟動是需要的一些檔案,而這些檔案就可以稱為Docker映象。

在這裡插入圖片描述

列出映象
列出docker下的所有映象:docker images

在這裡插入圖片描述

  • REPOSITORY:映象所在的倉庫名稱 
  • TAG:映象標籤 
  • IMAGE ID:映象ID
  • CREATED:映象的建立日期(不是獲取該映象的日期) 
  • SIZE:映象大小
  • 這些映象都是儲存在Docker宿主機的/var/lib/docker目錄下

在這裡插入圖片描述

 為了區分同一個倉庫下的不同映象,Docker提供了一種稱為標籤(Tag)的功能。每個映象在列出來時都帶有一個標籤,例如12.10、12.04等等。每個標籤對組成特定映象的一些映象層進行標記(比如,標籤12.04就是對所有Ubuntu12.04映象層的標記)。這種機制使得同一個倉庫中可以儲存多個映象。--- 版本號
 我們在運行同一個倉庫中的不同映象時,可以通過在倉庫名後面加上一個冒號和標籤名來指定該倉庫中的某一具體的映象,例如docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash,表明從映象Ubuntu:12.04啟動一個容器,而這個映象的作業系統就是Ubuntu:12.04。在構建容器時指定倉庫的標籤也是一個好習慣。

搜尋映象
如果你需要從網路中查詢需要的映象,可以通過以下命令搜尋

docker search 映象名稱

在這裡插入圖片描述

  • NAME:倉庫名稱

  • DESCRIPTION:映象描述

  • STARS:使用者評價,反應一個映象的受歡迎程度

  • OFFICIAL:是否官方
    AUTOMATED:自動構建,表示該映象由Docker Hub自動構建流程建立的
    拉取映象

    從Docker Hub拉取

Docker映象首頁,包括官方映象和其它公開映象。Docker Hub上最受歡迎的10大映象(通過Docker registry
API獲取不了映象被pull的個數,只能通過映象的stars數量,來衡量映象的流行度。毫無疑問,擁有最高stars數量的庫都是官方庫)。

在這裡插入圖片描述

國情的原因,國內下載 Docker HUB
官方的相關映象比較慢,可以使用國內(docker.io)的一些映象加速器,映象保持和官方一致,關鍵是速度塊,推薦使用。Mirror與Private
Registry的區別: Private Registry(私有倉庫)是開發者或者企業自建的映象儲存庫,通常用來儲存企業內部的 Docker
映象,用於內部開發流程和產品的釋出、版本控制。
Mirror是一種代理中轉服務,我們(比如daocloud)提供的Mirror服務,直接對接Docker
Hub的官方Registry。Docker Hub 上有數以十萬計的各類 Docker 映象。 在使用Private
Registry時,需要在Docker Pull 或Dockerfile中直接鍵入Private Registry 的地址,通常這樣會導致與
Private Registry 的繫結,缺乏靈活性。 使用 Mirror 服務,只需要在 Docker
守護程序(Daemon)的配置檔案中加入 Mirror 引數,即可在全域性範圍內透明的訪問官方的 Docker Hub,避免了對
Dockerfile 映象引用來源的修改。 簡單來說,Mirror類似CDN,本質是官方的cache;Private
Registry類似私服,跟官方沒什麼關係。對使用者來說,由於使用者是要拖docker
hub上的image,對應的是Mirror。yum/apt-get的Mirror又有點不一樣,它其實是把官方的庫檔案整個拖到自己的伺服器上做映象,並定時與官方做同步;而Docker
Mirror只會快取曾經使用過的image。

使用命令拉取:

docker pull centos:7

目前國內訪問docker hub速度上有點尷尬,使用docker Mirror勢在必行。現有國內提供docker映象加速服務的商家有不少,下面重點ustc映象。

ustc的映象
ustc是老牌的linux映象服務提供者了,還在遙遠的ubuntu 5.04版本的時候就在用。ustc的docker映象加速器速度很快。ustc docker mirror的優勢之一就是不需要註冊,是真正的公共服務。
https://lug.ustc.edu.cn/wiki/mirrors/help/docker
步驟:
(1)編輯該檔案:vi /etc/docker/daemon.json // 如果該檔案不存在就手動建立;說明:在centos7.x下,通過vi。
在這裡插入圖片描述

(2)在該檔案中輸入如下內容:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

(3)注意:一定要重啟docker服務,如果重啟docker後無法加速,可以重新啟動OS
在這裡插入圖片描述

然後通過docker pull命令下載映象:速度槓槓的。

刪除映象

1、docker rmi $IMAGE_ID:刪除指定映象
2、docker rmi docker images -q:刪除所有映象

在這裡插入圖片描述

快去試試吧~~~~~~~~~~~~~