使用Docker国内镜像源

操作环境:CentOS Linux release 7.6.1810 (Core)

Docker 官方维护了一个公共仓库 Docker Hub,目前已有15,000+ 的镜像。

一般情况下,通过 docker search 命令来查找官方仓库中的镜像,然后利用 docker pull 命令来将它下载到本地。

但由于 Docker Hub 并没有在国内部署服务器或者使用国内的CDN服务 ,所以下载镜像时十分耗时。

国内镜像源

国内有几家知名度较高的镜像源,分别是:网易蜂巢阿里云DaoCloud,使用该加速器后,下载镜像时速度会快很多。
比如使用DaoCloud来下载nginx镜像:

 docker pull daocloud.io/library/nginx:latest

不足一点就是,无法在终端查看这些国内镜像源包含了镜像的哪些版本,只能获得它的最新版本,要想所有查看版本信息,就需要去对应的官网注册然后搜索。

使用DaoCloud国内镜像源

DaoCloud官网注册登录后,在「发现镜像」中搜索‘Nginx’,搜索结果中有Docker官方提供的Nginx镜像,如下:
使用Docker国内镜像源
点进去可以看到关于它的所有版本信息:
使用Docker国内镜像源
如果此时想下载1.13.2版本的nginx镜像,那么执行:

docker pull daocloud.io/library/nginx:1.13.2

即末尾改成对应的nginx的版本号。
查看一下当前所有下载的镜像:

[[email protected] ~]# docker image list
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/library/nginx   latest              7042885a156a        2 months ago        109 MB
daocloud.io/library/nginx   1.13.2              2f7f7bce8929        20 months ago       108 MB

可以看到nginx的1.13.2版本已成功下载。

技巧:简化DaoCloud镜像命令

使用DaoCloud下载镜像时,每次都要输入较长的一段路径:

docker pull daocloud.io/library/xxx:yyy

想简化到只需输入:

dao pull xxx:yyy

这么简洁的路径吗,那就还需要再做些配置。

1. 配置 Docker 加速器

打开DaoCloud加速器页面,找到脚本配置命令(根据你的操作系统选择,我的是CentOS7):
使用Docker国内镜像源
注意:其中后半段的「http://f1374db2.m.daocloud.i」是加速地址(这个地址是你专属的,每个人的都不同),我们要做的就是将这个地址添加到Docker配置文件中。

vi命令编辑Docker配置文件/etc/docker/daemon.json,添加如下内容:

{
"registry-mirrors": 
    [
     "http://f1374db2.m.daocloud.io"
    ]        
}

接下来重启Docker使配置生效:

[[email protected] ~]# systemctl restart docker   
2. 添加主机

在个人中心的「集群管理」添加你的主机:
使用Docker国内镜像源
使用Docker国内镜像源
①②选择后,终端执行③中的命令:

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s b4a1be868dcc59f677ec928exxxxx298c0daeb7e 

执行成功后,会显示:

You can view daomonit log at /var/log/daomonit.log
And You can Start or Stop daomonit with: service daomonit start/stop/restart/status

******************************************************
******************************************************
***
***  Installed and Started Daomonit 0.1.70
***
***  NOTICE: 
***  You can pull image very Fast by dao, For Example: 
***     dao pull ubuntu
***
******************************************************

并且,窗口会显示已经连接成功:
使用Docker国内镜像源
到此,配置结束。

现在,来试一下,下载mysql的8.0.2版本:,执行命令:

[[email protected] ~]# dao pull mysql:8.0.2

然后下查看所有下载的镜像:

[[email protected] ~]# docker image list
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/library/nginx               latest              7042885a156a        2 months ago        109 MB
library/mysql                           8.0.2               46c7a6759627        18 months ago       266 MB
daocloud.io/library/nginx               1.13.2              2f7f7bce8929        20 months ago       108 MB

可以看到,mysql8.0.2同样已经成功下载。