Docker Hub并没有在国内部署服务器或者使用国内的CDN服务,因此在国内特殊的网络环境下,镜像下载十分耗时。为了克服跨洋网络延迟,能够快速高效地下载Docker镜像,最为有效的方式之一就是:使用 DaoCloud团队提供的服务Docker Hub Mirror。


docker hub官网 下载镜像至本地 docker hub mirror_docker

Docker之所以这么吸引人,除了它的新颖的技术外,围绕官方Registry(Docker Hub)的生态圈也是相当吸引人眼球的地方。

在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用。这些镜像中,有些是Docker官方维护的,更多的是众多开发者自发上传分享的。而且你还可以在Docker Hub中绑定你的代码托管系统(目前支持Github和Bitbucket)配置自动生成镜像功能,这样Docker Hub会在你代码更新时自动生成对应的Docker镜像,是不是很方便?

不幸的是,Docker Hub并没有在国内部署服务器或者使用国内的CDN服务,因此在国内特殊的网络环境下,镜像下载十分耗时,少则二十分钟,多则数十小时。为了克服跨洋网络延迟,能够快速高效地下载Docker镜像,最为有效的方式之一就是:使用 DaoCloud团队 (https://www.daocloud.io/)提供的服务Docker Hub Mirror。

Docker Hub Mirror简介

Docker Hub Mirror为全球最大的Docker Registry(Docker Hub)提供在中国的镜像代理服务。Docker Hub Mirror会为中国的用户在国内的服务器上缓存诸多镜像。

当用户的Docker设定了--registry-mirror参数后,用户的Docker下拉镜像时,首先去Docker Hub Mirror中查找镜像,若命中则说明该镜像已经在Docker Hub Mirror中缓存,用户直接从Docker Hub Mirror中下载;若没有命中,则说该镜像还没有被缓存,那么Docker Hub Mirror首先会被驱使去Docker Hub中下载该镜像,并进行缓存,最终让用户从Docker Hub Miorror中下载该镜像。

Docker Hub Mirror使用说明

注册Docker Hub Mirror账号

DaoCloud提供Docker Hub Mirror服务。用户可以进入Docker Hub Mirror注册入口注册。在进入控制台页面后直接点击 启动你的加速器后,您即可得到一个Mirror的地址,将该地址配置在Docker Daemon的启动脚本中,重启Docker Daemon即可使得Docker Hub Mirror配置生效。

下文分四种不同的操作系统,来详细阐述如歌配置Docker Hub Mirror地址。

Ubuntu:

安装或升级Docker

Docker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升级版本。

配置Docker Hub Mirror


1. sudo echo "DOCKER_OPTS=\"$DOCKER_OPTS --registry-mirror=http://xxx.m.daocloud.io\"" >> /etc/default/docker service docker restart


请将xxx替换为您在 DaoCloud 上注册后,为您专属生成的Mirror地址链接名。 该脚本可以将 --registry-mirror 加入到您的Docker配置文件 /etc/defaults/docker中。

尽情享受Docker Hub Mirror

Docker Hub Mirror使用不需要任何附件操作,就像这样下载官方Ubuntu镜像



    1. docker pull ubuntu



    CentOS:

    安装或升级Docker

    Docker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升级版本。

    配置Docker Hub Mirror


    1. sudo sed -i 's|OPTIONS=|OPTIONS=--registry-mirror=http://xxx.m.daocloud.io |g' /etc/sysconfig/docker service docker restart


    请将xxx替换为您在 DaoCloud 上注册后,为您专属生成的Mirror地址链接名。

    该脚本可以将 --registry-mirror 加入到您的Docker配置文件/etc/defaults/docker中。

    尽情享受Docker Hub Mirror

    Docker Hub Mirror使用不需要任何附件操作,就像这样下载官方Ubuntu镜像



      1. docker pull ubuntu



      MAC:

      安装或升级MAC版本下的Boot2Docker

      Docker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升级版本。

      配置Docker Hub Mirror

      请确认你的Boot2Docker已经启动,并执行


      1. boot2docker ssh sudo su echo "EXTRA_ARGS=\"--registry-mirror=http://xxx.m.daocloud.io\"" >> /var/lib/boot2docker/profile && exit exit boot2docker restart

      请将xxx替换为您在 DaoCloud 上注册后,为您专属生成的Mirror地址链接名。

      尽情享受Docker Hub Mirror

      Docker Hub Mirror使用不需要任何附件操作,就像这样下载官方Ubuntu镜像



        1. docker pull ubuntu


        Windows:

        安装或升级MAC版本下的Boot2Docker

        Docker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升级版本。

        配置Docker Hub Mirror

        进入Boot2Docker Start Shell,并执行


          1. sudo su echo "EXTRA_ARGS=\"--registry-mirror=http://xxx.m.daocloud.io\"" >> /var/lib/boot2docker/profile exit # 重新启动Boot2Docker


          请将xxx替换为您在 DaoCloud 上注册后,为您专属生成的Mirror地址链接名

          尽情享受Docker Hub Mirror

          Docker Hub Mirror使用不需要任何附件操作,就像这样下载官方Ubuntu镜像



          1. docker pull ubuntu