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

原文地址:http://cloud.51cto.com/art/201501/463536.htm



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


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

docker pull ubuntu
原文链接:http://dockerpool.com/article/1419997003

【编辑推荐】

容器上使用Docker还是Rocket?为什么不一起用呢?
动手搭建Shipyard,简化跨主机的Docker容器集群管理
巨大的附加价值决定 Docker 已成为PaaS标准配置
镜像创建乏味耗时?为什么不用DockerFile
Docke CEO 畅谈 Docker编排工具:2015开源项目最重要的大事
【责任编辑:Ophira TEL:(010)68476606】

猜你喜欢

转载自wangxiaoxu.iteye.com/blog/2247023