Docker專題(三)-Docker鏡像操作

1.什麼是Docker鏡像

Docker鏡像是由文件系統疊加而成(是一種文件的存儲形式)。最底端是一個文件引導系統,即bootfs,這很像典型的Linux/Unix的引導文件系統。Docker用戶幾乎永遠不會和引導系統有什麼交互。實際上,當一個容器啓動後,它將會被移動到內存中,而引導文件系統則會被卸載,以留出更多的內存供磁盤鏡像使用。Docker容器啓動是需要的一些文件,而這些文件就可以稱爲Docker鏡像
在這裏插入圖片描述

2.鏡像操作

2.1.列出鏡像

列出docker下的所有鏡像:docker images

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     latest              7bb2586065cd        2 months ago        477 MB
  • 參數說明:
    REPOSITORY:鏡像所在的倉庫名稱
    TAG:鏡像標籤
    IMAGE ID:鏡像ID
    CREATED:鏡像的創建日期(不是獲取該鏡像的日期)
    SIZE:鏡像大小

  • OPTIONS說明:
    -a :列出本地所有的鏡像(含中間映像層)
    -q :只顯示鏡像ID。
    –digests :顯示鏡像的摘要信息
    –no-trunc :顯示完整的鏡像信息

這些鏡像都是存儲在Docker宿主機的/var/lib/docker目錄下

[root@localhost docker]# cd /var/lib/docker
[root@localhost docker]# ll
總用量 4
drwx------.  3 root root   78 217 22:06 containers
drwx------.  3 root root   22 217 21:32 image
drwxr-x---.  3 root root   19 217 21:32 network
drwx------. 17 root root 4096 617 16:21 overlay2
drwx------.  4 root root   32 217 21:32 plugins
drwx------.  2 root root    6 217 21:32 swarm
drwx------.  2 root root    6 617 16:31 tmp
drwx------.  2 root root    6 217 21:32 trust
drwx------.  4 root root  169 217 22:06 volumes

2.2.搜索鏡像

如果你需要從網絡中查找需要的鏡像,可以通過以下命令搜索

命令:docker search [OPTIONS] 鏡像名字

[root@localhost docker]# docker search tomcat
INDEX       NAME                                    DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/tomcat                        Apache Tomcat is an open source implementa...   2464      [OK]       
docker.io   docker.io/tomee                         Apache TomEE is an all-Apache Java EE cert...   66        [OK]       
docker.io   docker.io/dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba...   53                   [OK]
docker.io   docker.io/bitnami/tomcat                Bitnami Tomcat Docker Image                     29                   [OK]
docker.io   docker.io/kubeguide/tomcat-app          Tomcat image for Chapter 1                      26                   
docker.io   docker.io/consol/tomcat-7.0             Tomcat 7.0.57, 8080, "admin/admin"              16                   [OK]
docker.io   docker.io/cloudesire/tomcat             Tomcat server, 6/7/8                            15                   [OK]
docker.io   docker.io/aallam/tomcat-mysql           Debian, Oracle JDK, Tomcat & MySQL              11                   [OK]
docker.io   docker.io/tutum/tomcat                  Base docker image to run a Tomcat applicat...   11                   
docker.io   docker.io/arm32v7/tomcat                Apache Tomcat is an open source implementa...   6                    
docker.io   docker.io/rightctrl/tomcat              CentOS , Oracle Java, tomcat application s...   5                    [OK]
docker.io   docker.io/maluuba/tomcat7-java8         Tomcat7 with java8.                             3                    
docker.io   docker.io/amd64/tomcat                  Apache Tomcat is an open source implementa...   2                    
docker.io   docker.io/arm64v8/tomcat                Apache Tomcat is an open source implementa...   2                    
docker.io   docker.io/99taxis/tomcat7               Tomcat7                                         1                    [OK]
docker.io   docker.io/camptocamp/tomcat-logback     Docker image for tomcat with logback integ...   1                    [OK]
docker.io   docker.io/i386/tomcat                   Apache Tomcat is an open source implementa...   1                    
docker.io   docker.io/ppc64le/tomcat                Apache Tomcat is an open source implementa...   1                    
docker.io   docker.io/appsvc/tomcat                                                                 0                    
docker.io   docker.io/cfje/tomcat-resource          Tomcat Concourse Resource                       0                    
docker.io   docker.io/jelastic/tomcat               An image of the Tomcat Java application se...   0                    
docker.io   docker.io/oobsri/tomcat8                Testing CI Jobs with different names.           0                    
docker.io   docker.io/picoded/tomcat7               tomcat7 with jre8 and MANAGER_USER / MANAG...   0                    [OK]
docker.io   docker.io/s390x/tomcat                  Apache Tomcat is an open source implementa...   0                    
docker.io   docker.io/secoresearch/tomcat-varnish   Tomcat and Varnish 5.0                          0                    [OK]
  • 參數說明
    NAME:倉庫名稱
    DESCRIPTION:鏡像描述
    STARS:用戶評價,反應一個鏡像的受歡迎程度
    OFFICIAL:是否官方
    AUTOMATED:自動構建,表示該鏡像由Docker Hub自動構建流程創建的
  • OPTIONS說明
    –no-trunc : 顯示完整的鏡像描述
    -s : 列出收藏數不小於指定值的鏡像。
    –automated : 只列出 automated build類型的鏡像;

2.3.拉取鏡像

2.3.1.從Docker Hub拉取

Docker Hub:https://hub.docker.com
Docker鏡像首頁,包括官方鏡像和其它公開鏡像。Docker Hub上最受歡迎的10大鏡像(通過Docker registry API獲取不了鏡像被pull的個數,只能通過鏡像的stars數量,來衡量鏡像的流行度。毫無疑問,擁有最高stars數量的庫都是官方庫).
在這裏插入圖片描述
Mirror與Private Registry的區別:

  • Private Registry(私有倉庫)是開發者或者企業自建的鏡像存儲庫,通常用來保存企業內部的 Docker 鏡像,用於內部開發流程和產品的發佈、版本控制。
  • Mirror是一種代理中轉服務,我們(比如daocloud)提供的Mirror服務,直接對接Docker Hub的官方Registry。Docker Hub 上有數以十萬計的各類 Docker 鏡像。

使用命令拉取:

docker pull 鏡像名字[:TAG]

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

2.3.2.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

[root@localhost docker]# service docker restart
Redirecting to /bin/systemctl restart docker.service

4)示例

[root@localhost docker]# docker pull zookeeper
Using default tag: latest
Trying to pull repository docker.io/library/zookeeper ... 
latest: Pulling from docker.io/library/zookeeper
f5d23c7fed46: Pull complete 
eaa7ca9a16a1: Pull complete 
57f21f30136f: Pull complete 
6e7c1070bcbc: Pull complete 
f4d70619b3de: Pull complete 
e4d5dc43f630: Pull complete 
c9be43341e93: Pull complete 
135ab2963089: Pull complete 
Digest: sha256:4a70c5b011d94298f62c62d7341a374b6a3a5d15a246f76d4cba3584ae60b8f6
Status: Downloaded newer image for docker.io/zookeeper:latest

2.4.刪除鏡像

作用:刪除鏡像
刪除單個

docker rmi  -f 鏡像ID

刪除多個

docker rmi -f 鏡像名1:TAG 鏡像名2:TAG 

刪除全部

docker rmi -f $(docker images -qa)

示例:

[root@localhost docker]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED                  SIZE
docker.io/zookeeper   latest              a873528df41f        Less than a second ago   225 MB
docker.io/mysql       latest              7bb2586065cd        2 months ago             477 MB
[root@localhost docker]# docker rmi  -f a873528df41f
Untagged: docker.io/zookeeper:latest
Untagged: docker.io/zookeeper@sha256:4a70c5b011d94298f62c62d7341a374b6a3a5d15a246f76d4cba3584ae60b8f6
Deleted: sha256:a873528df41f67308900374218cbcb334bf764074f9daa76482d86e53f058589
Deleted: sha256:6112743ce75a12d3c5db9692c88cb4fd8f26bdacbee3fd6b2801a8a11d0cafa0
Deleted: sha256:474612b9b8b92623226ef0100c04598113a74ff9b34f3c47e9fc39e8cfcf1953
Deleted: sha256:136c24ea1ecb39f9070a8e2e7b6cedbc6e31a019d171910b7fb9f6efaa1f45d1
Deleted: sha256:af0ddb7072be87b262a98e8d9a30bb01e207ae44dfa7039beb09a4f7e85dfc19
Deleted: sha256:f60a1b0a8bdfbb66a0856863d4339802eeb7f593c4c4a6bddba425c278349fa1
Deleted: sha256:d4ba2b7e7a81205a5e6a7d35bc89b55dc5802fec6b5d35d93e4965e908b46d32
Deleted: sha256:4cfe7f0f8661eef6a97f30742474149c45ce22e7ca8f93e9e069abe333d2e470
Deleted: sha256:d8a33133e477d367977987129313d9072e0ec80894ed4c52c2d88186f354c29a
[root@localhost docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     latest              7bb2586065cd        2 months ago        477 MB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章