Docker 容器化技術介紹(一) 之 虛拟化技術
Docker 容器化技術介紹(二) 之 Docker 簡介
Docker 容器化技術介紹(三) 之 Docker 元件
Docker 容器化技術介紹(四) 之 Docker的安裝與啟動
Docker 容器化技術介紹(五) 之 Docker 鏡像操作
Docker 容器化技術介紹(六) 之 Docker 容器操作
Docker 容器化技術介紹(七) 之 Docker 應用部署
Docker 容器化技術介紹(八) 之 Docker 備份與遷移
1 docker 列出鏡像
列出主控端上所存在的鏡像
docker images
[[email protected] home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest c82521676580 4 weeks ago 109 MB
第一次安裝 docker 的時候是沒有鏡像的,索引我們看到的鏡像資訊是空的,給我們展示出來的每一列代表什麼意思呢?
列名 | 含義 | 備注 |
REPOSITORY | 鏡像所在的倉庫名稱 | |
TAG | 鏡像标簽 | 為了區分同一個倉庫下的不同鏡像,Docker 提供了一種稱為标簽(Tag)的功能。每個鏡像在列出來時 都帶有一個标簽, |
IMAGE ID | 鏡像的 ID | |
CREATED | 建立時間 | 鏡像的建立日期(不是擷取該鏡像的日期) |
SIZE | 鏡像大小 |
注: 這些鏡像都是存儲在 Docker 主控端的/var/lib/docker 目錄下
2 docker 搜尋鏡像
如果你需要從網絡中查找需要的鏡像,可以通過以下指令搜尋
docker search 鏡像名稱
搜尋 nginx 鏡像
[[email protected] home]# docker search nginx
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/nginx Official build of Nginx. 9353 [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1387 [OK]
docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 609 [OK]
docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 396 [OK]
docker.io docker.io/kong Open-source Microservice & API Management ... 219 [OK]
docker.io docker.io/webdevops/php-nginx Nginx with PHP-FPM 111 [OK]
docker.io docker.io/kitematic/hello-world-nginx A light-weight nginx container that demons... 108
docker.io docker.io/zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 63 [OK]
docker.io docker.io/bitnami/nginx Bitnami nginx Docker Image 57 [OK]
docker.io docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 43 [OK]
docker.io docker.io/linuxserver/nginx An Nginx container, brought to you by Linu... 38
docker.io docker.io/tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 20 [OK]
docker.io docker.io/blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
docker.io docker.io/nginxdemos/nginx-ingress NGINX Ingress Controller for Kubernetes . ... 11
docker.io docker.io/wodby/drupal-nginx Nginx for Drupal container image 10 [OK]
docker.io docker.io/nginxdemos/hello NGINX webserver that serves a simple page ... 8 [OK]
docker.io docker.io/webdevops/nginx Nginx container 8 [OK]
docker.io docker.io/centos/nginx-18-centos7 Platform for running nginx 1.8 or building... 7
docker.io docker.io/1science/nginx Nginx Docker images that include Consul Te... 4 [OK]
docker.io docker.io/centos/nginx-112-centos7 Platform for running nginx 1.12 or buildin... 4
docker.io docker.io/pebbletech/nginx-proxy nginx-proxy sets up a container running ng... 2 [OK]
docker.io docker.io/mailu/nginx Mailu nginx frontend 1 [OK]
docker.io docker.io/toccoag/openshift-nginx Nginx reverse proxy for Nice running on sa... 1 [OK]
docker.io docker.io/travix/nginx NGinx reverse proxy 1 [OK]
docker.io docker.io/ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 0 [OK]
每一列的含義
列名 | 含義 |
NAME | 倉庫名稱 |
DESCRIPTION | 鏡像描述 |
STARS | 綜合評分, 反應一個鏡像的受歡迎程度 |
OFFICIAL | 是否官方 |
AUTOMATED | 自動建構,表示該鏡像由 Docker Hub 自動建構流程建立的 |
上面的搜尋的結果,其實和在 Docker Hub 上面的結果是一樣的,https://hub.docker.com/
3 拉取鏡像
我們拉取鏡像預設是從 Docker Hub 鏡像倉庫上進行擷取的,在 Docker Hub 的官網 https://hub.docker.com/ 上我們可以檢視 Docker 鏡像的一些資訊
國情的原因,國内下載下傳 Docker HUB 官方的相關鏡像比較慢,可以使用國内(docker.io)的一些鏡像加速器,鏡像保持和官方一緻,關鍵是速 度塊,推薦使用。
常用的鏡像加速器有: Mirror 與 Private Registry
差別如下圖所示:
Private Registry | Mirror |
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 鏡像引用來源的修改 |
目前國内通路 docker hub 速度上有點尴尬,使用 docker Mirror 勢在必行。現有國内提供 docker 鏡像加速服務的商家有不少,下面重點 ustc 鏡像。
ustc 是老牌的 linux 鏡像服務提供者了,還在遙遠的 ubuntu 5.04 版本的時候就在用。ustc 的 docker 鏡像加速器速度很快。ustc docker mirror 的優勢 之一就是不需要注冊,是真正的公共服務。https://lug.ustc.edu.cn/wiki/mirrors/help/docker
配置 ustc 鏡像加速器,編輯檔案
vi /etc/docker/daemon.json
在配置檔案中配置如下内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
重新開機 docker
systemctl restart docker
如果重新開機 docker 以後還是無法進行
加速,可以重新 os 在進行嘗試
拉取鏡像指令如下:
docker pull 鏡像名稱
拉取 nginx 鏡像
docker pull nginx
[[email protected] home]# docker search nginx
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/nginx Official build of Nginx. 9353 [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1387 [OK]
docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 609 [OK]
docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 396 [OK]
docker.io docker.io/kong Open-source Microservice & API Management ... 219 [OK]
docker.io docker.io/webdevops/php-nginx Nginx with PHP-FPM 111 [OK]
docker.io docker.io/kitematic/hello-world-nginx A light-weight nginx container that demons... 108
docker.io docker.io/zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 63 [OK]
docker.io docker.io/bitnami/nginx Bitnami nginx Docker Image 57 [OK]
docker.io docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 43 [OK]
docker.io docker.io/linuxserver/nginx An Nginx container, brought to you by Linu... 38
docker.io docker.io/tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 20 [OK]
docker.io docker.io/blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
docker.io docker.io/nginxdemos/nginx-ingress NGINX Ingress Controller for Kubernetes . ... 11
docker.io docker.io/wodby/drupal-nginx Nginx for Drupal container image 10 [OK]
docker.io docker.io/nginxdemos/hello NGINX webserver that serves a simple page ... 8 [OK]
docker.io docker.io/webdevops/nginx Nginx container 8 [OK]
docker.io docker.io/centos/nginx-18-centos7 Platform for running nginx 1.8 or building... 7
docker.io docker.io/1science/nginx Nginx Docker images that include Consul Te... 4 [OK]
docker.io docker.io/centos/nginx-112-centos7 Platform for running nginx 1.12 or buildin... 4
docker.io docker.io/pebbletech/nginx-proxy nginx-proxy sets up a container running ng... 2 [OK]
docker.io docker.io/mailu/nginx Mailu nginx frontend 1 [OK]
docker.io docker.io/toccoag/openshift-nginx Nginx reverse proxy for Nice running on sa... 1 [OK]
docker.io docker.io/travix/nginx NGinx reverse proxy 1 [OK]
docker.io docker.io/ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 0 [OK]
4 删除鏡像
我們可以删除指定的鏡像也可以删除所有的鏡像
删除指定的鏡像
docker rmi 鏡像名稱/鏡像 ID
删除所有的鏡像
docker rmi `docker images -q`
注: `` 中間的字元可以被當做 linux 的指令進行解析執行
`docker images -q`擷取的所有鏡像的 ID
[[email protected] home]# docker images -q
c82521676580