1. 程式人生 > >克服跨洋網路延遲,使用Docker Hub Mirror加速Docker官方映象下載

克服跨洋網路延遲,使用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

  1. 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映象

  1. docker pull ubuntu 

CentOS

安裝或升級Docker

Docker 1.3.2版本以上才支援Docker Hub Mirror機制,如果您還沒有安裝Docker或者版本過低,請安裝或升級版本。

配置Docker Hub Mirror

  1. 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映象

  1. docker pull ubuntu 

MAC

安裝或升級MAC版本下的Boot2Docker

Docker 1.3.2版本以上才支援Docker Hub Mirror機制,如果您還沒有安裝Docker或者版本過低,請安裝或升級版本。

配置Docker Hub Mirror

請確認你的Boot2Docker已經啟動,並執行

  1. 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映象

  1. docker pull ubuntu 

Windows

安裝或升級MAC版本下的Boot2Docker

Docker 1.3.2版本以上才支援Docker Hub Mirror機制,如果您還沒有安裝Docker或者版本過低,請安裝或升級版本。

配置Docker Hub Mirror

進入Boot2Docker Start Shell,並執行

  1. 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映象

  1. docker pull ubuntu