Docker Hub並沒有在國內部署服務器或者使用國內的CDN服務,因此在國內特殊的網絡環境下,鏡像下載十分耗時。爲了克服跨洋網絡延遲,能夠快速高效地下載Docker鏡像,最爲有效的方式之一就是:使用 DaoCloud團隊提供的服務Docker Hub Mirror。
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