克服跨洋網路延遲,使用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映象
- docker pull ubuntu