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 ubuntuCentOS:
安裝或升級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 ubuntuMAC:
安裝或升級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 ubuntuWindows:
安裝或升級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