Docker 容器化技术介绍(五) 之 Docker 镜像操作

Docker 容器化技术介绍(一) 之 虚拟化技术

Docker 容器化技术介绍(二) 之 Docker 简介

Docker 容器化技术介绍(三) 之 Docker 组件

Docker 容器化技术介绍(四) 之 Docker的安装与启动

Docker 容器化技术介绍(五) 之 Docker 镜像操作

Docker 容器化技术介绍(六) 之 Docker 容器操作

Docker 容器化技术介绍(七) 之 Docker 应用部署

Docker 容器化技术介绍(八) 之 Docker 备份与迁移


1 docker 列出镜像

列出宿主机上所存在的镜像

docker images

[root@bogon 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 镜像

[root@bogon 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
[root@bogon 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

[root@bogon home]# docker images -q
c82521676580

猜你喜欢

转载自blog.csdn.net/ternence_hsu/article/details/82025221