克服跨洋網(wǎng)絡(luò)延遲,使用Docker Hub Mirror加速Docker官方鏡像下載
Docker之所以這么吸引人,除了它的新穎的技術(shù)外,圍繞官方Registry(Docker Hub)的生態(tài)圈也是相當(dāng)吸引人眼球的地方。
在Docker Hub上你可以很輕松下載到大量已經(jīng)容器化的應(yīng)用鏡像,即拉即用。這些鏡像中,有些是Docker官方維護的,更多的是眾多開發(fā)者自發(fā)上傳分享的。而且你還可以在Docker Hub中綁定你的代碼托管系統(tǒng)(目前支持Github和Bitbucket)配置自動生成鏡像功能,這樣Docker Hub會在你代碼更新時自動生成對應(yīng)的Docker鏡像,是不是很方便?
不幸的是,Docker Hub并沒有在國內(nèi)部署服務(wù)器或者使用國內(nèi)的CDN服務(wù),因此在國內(nèi)特殊的網(wǎng)絡(luò)環(huán)境下,鏡像下載十分耗時,少則二十分鐘,多則數(shù)十小時。為了克服跨洋網(wǎng)絡(luò)延遲,能夠快速高效地下載Docker鏡像,最為有效的方式之一就是:使用 DaoCloud團隊 (https://www.daocloud.io/)提供的服務(wù)Docker Hub Mirror。
Docker Hub Mirror簡介
Docker Hub Mirror為全球***的Docker Registry(Docker Hub)提供在中國的鏡像代理服務(wù)。Docker Hub Mirror會為中國的用戶在國內(nèi)的服務(wù)器上緩存諸多鏡像。
當(dāng)用戶的Docker設(shè)定了--registry-mirror參數(shù)后,用戶的Docker下拉鏡像時,首先去Docker Hub Mirror中查找鏡像,若命中則說明該鏡像已經(jīng)在Docker Hub Mirror中緩存,用戶直接從Docker Hub Mirror中下載;若沒有命中,則說該鏡像還沒有被緩存,那么Docker Hub Mirror首先會被驅(qū)使去Docker Hub中下載該鏡像,并進行緩存,最終讓用戶從Docker Hub Miorror中下載該鏡像。
Docker Hub Mirror使用說明
注冊Docker Hub Mirror賬號
DaoCloud提供Docker Hub Mirror服務(wù)。用戶可以進入Docker Hub Mirror注冊入口注冊。在進入控制臺頁面后直接點擊 啟動你的加速器后,您即可得到一個Mirror的地址,將該地址配置在Docker Daemon的啟動腳本中,重啟Docker Daemon即可使得Docker Hub Mirror配置生效。
下文分四種不同的操作系統(tǒng),來詳細闡述如歌配置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
請確認(rèn)你的Boot2Docker已經(jīng)啟動,并執(zhí)行
- 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,并執(zhí)行
- 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