首先,需要明確一個問題:Mirror 與 Private Registry 有什么區別?
Private Registry 是開發者或者企業自建的鏡像存儲庫,通常用來保存企業內部的 Docker 鏡像,用於內部開發流程和產品的發布、版本控制。 Mirror 是一種代理中轉服務,我們(指daocloud)提供的 Mirror 服務,直接對接 Docker Hub 的官方 Registry。Docker Hub 上有數以十萬計的各類 Docker 鏡像。 在使用 Private Registry 時,需要在 Docker Pull 或 Dockerfile 中直接鍵入 Private Registry 的地址,通常這樣會導致與 Private Registry 的綁定,缺乏靈活性。 使用 Mirror 服務,只需要在 Docker 守護進程(Daemon)的配置文件中加入 Mirror 參數,即可在全局范圍內透明的訪問官方的 Docker Hub,避免了對 Dockerfile 鏡像引用來源的修改。
簡單來說,Mirror類似CDN,本質是官方的cache;Private Registry類似私服,跟官方沒什么關系。對我來說,由於我是要拖docker hub上的image,對應的是Mirror。 yum/apt的mirror又有點不一樣,它其實是把官方的庫文件整個拖到自己的服務器上做鏡像(不管有沒有用),並定時與官方做同步;而Docker mirror只會緩存曾經使用過的image。
目前國內訪問docker hub非常便秘,使用docker mirror勢在必行。
現有提供服務的有三家:ustc、daocloud、aliyun,下面會一一介紹。
2017-03-06 更新:新增網易docker鏡像
2017-06-09 更新:新增官方鏡像
加速一下
echo "DOCKER_OPTS=\"--registry-mirror=https://registry.docker-cn.com\"" >> /etc/default/docker
systemctl restart docker
官方鏡像
--registry-mirror=https://registry.docker-cn.com
163的
--registry-mirror=http://hub-mirror.c.163.com
utsc的
--registry-mirror=https://docker.mirrors.ustc.edu.cn
參考:https://www.docker-cn.com/registry-mirror
通過 Docker 官方鏡像加速,中國區用戶能夠快速訪問最流行的 Docker 鏡像。該鏡像托管於中國大陸,本地用戶現在將會享受到更快的下載速度和更強的穩定性,從而能夠更敏捷地開發和交付 Docker 化應用。
Docker 中國官方鏡像加速可通過 registry.docker-cn.com 訪問。該鏡像庫只包含流行的公有鏡像。私有鏡像仍需要從美國鏡像庫中拉取。
您可以使用以下命令直接從該鏡像加速地址進行拉取:
$ docker pull registry.docker-cn.com/myname/myrepo:mytag
為了永久性保留更改,您可以修改 /etc/docker/daemon.json 文件並添加上 registry-mirrors 鍵值。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
