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