克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载

克服跨洋网络延迟,使用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

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镜像

docker pull ubuntu 

CentOS

安装或升级Docker

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

配置Docker Hub Mirror

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镜像

docker pull ubuntu 

MAC

安装或升级MAC版本下的Boot2Docker

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

配置Docker Hub Mirror

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

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镜像

docker pull ubuntu 

Windows

安装或升级MAC版本下的Boot2Docker

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

配置Docker Hub Mirror

进入Boot2Docker Start Shell,并执行

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镜像

相关推荐