天天看點

擷取鏡像擷取鏡像

擷取鏡像

在之前的介紹中,我們知道鏡像是 Docker 的三大元件之一。

Docker 運作容器前需要本地存在對應的鏡像,如果鏡像不存在本地,Docker 會從鏡像倉庫下載下傳(預設是 Docker Hub 公共注冊伺服器中的倉庫)。

本章将介紹更多關于鏡像的内容,包括:

  • 從倉庫擷取鏡像;
  • 管理本地主機上的鏡像;
  • 介紹鏡像實作的基本原理。

可以使用 

docker pull

 指令來從倉庫擷取所需要的鏡像。

下面的例子将從 Docker Hub 倉庫下載下傳一個 Ubuntu 12.04 作業系統的鏡像。

$ sudo docker pull ubuntu:12.04
Pulling repository ubuntu
ab8e2728644c: Pulling dependent layers
511136ea3c5a: Download complete
5f0ffaa9455e: Download complete
a300658979be: Download complete
904483ae0c30: Download complete
ffdaafd1ca50: Download complete
d047ae21eeaf: Download complete
           

下載下傳過程中,會輸出擷取鏡像的每一層資訊。

該指令實際上相當于 

$ sudo docker pull registry.hub.docker.com/ubuntu:12.04

 指令,即從注冊伺服器 

registry.hub.docker.com

 中的 

ubuntu

 倉庫來下載下傳标記為 

12.04

 的鏡像。

有時候官方倉庫注冊伺服器下載下傳較慢,可以從其他倉庫下載下傳。 從其它倉庫下載下傳時需要指定完整的倉庫注冊伺服器位址。例如

$ sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04
Pulling dl.dockerpool.com:5000/ubuntu
ab8e2728644c: Pulling dependent layers
511136ea3c5a: Download complete
5f0ffaa9455e: Download complete
a300658979be: Download complete
904483ae0c30: Download complete
ffdaafd1ca50: Download complete
d047ae21eeaf: Download complete
           

完成後,即可随時使用該鏡像了,例如建立一個容器,讓其中運作 bash 應用。

$ sudo docker run -t -i ubuntu:12.04 /bin/bash
[email protected]:/#
           

繼續閱讀