# 3. Dcoker 鏡像
Docker 運行容器前需要本地存在對應的鏡像,如果鏡像不存在本地, Docker 會從鏡像倉庫下載(默認是 Docker Hub 公共注冊服務器中的倉庫)。
Docker Hub:[https://hub.docker.com](https://hub.docker.com/)
阿里云鏡像:[https://dev.aliyun.com/search.html](https://dev.aliyun.com/search.html)
靈雀云:[https://hub.alauda.cn/](https://hub.alauda.cn/)
## 3-1. 列出鏡像列表
我們可以使用 **docker images** 來列出本地主機上的鏡像。
```text
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB
httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB
ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB
hello-world latest 690ed74de00f 6 months ago 960 B
```
各個選項說明:
* REPOSITORY:表示鏡像的倉庫源
* TAG:鏡像的標簽
* IMAGE ID:鏡像 ID(唯一)
* CREATED:鏡像創建時間
* SIZE:鏡像大小
## 3-2. 查找鏡像
我們可以從 Docker Hub 網站來搜索鏡像,Docker Hub 網址為: "[https://hub.docker.com/](https://hub.docker.com/)"
我們也可以使用 docker search 命令來搜索鏡像。比如我們需要一個 httpd 的鏡像來作為我們的 web 服務。我們可以通過 docker search 命令搜索 httpd 來尋找適合我們的鏡像。

各個選項說明:
* NAME:鏡像倉庫源的名稱
* DESCRIPTION:鏡像的描述
* OFFICIAL:是否 docker 官方發布
## 3-3. 拖取鏡像
我們決定使用上圖中的 httpd 官方版本的鏡像,使用命令 docker pull 來下載鏡像。
```text
$ docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
8b87079b7a06: Pulling fs layer
a3ed95caeb02: Download complete
0d62ec9c6a76: Download complete
a329d50397b9: Download complete
ea7c1f032b5c: Waiting
be44112b72c7: Waiting
```
下載完成后,我們就可以使用這個鏡像了。
`$ docker run httpd`