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