國內從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。Docker 官方和國內很多云服務商都提供了國內加速器服務,例如:
當配置某一個加速器地址之后,若發現拉取不到鏡像,請切換到另一個加速器地址。
國內各大云服務商均提供了 Docker 鏡像加速服務,建議根據運行 Docker 的云平臺選擇對應的鏡像加速服務。
我們以 Docker 官方加速器 https://registry.docker-cn.com
為例進行介紹。
Ubuntu 14.04、Debian 7 Wheezy
對于使用 upstart 的系統而言,編輯 /etc/default/docker
文件,在其中的 DOCKER_OPTS
中配置加速器地址:
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
重新啟動服務。
$ sudo service docker restart
Ubuntu 16.04+、Debian 8+、CentOS 7
對于使用 systemd 的系統,請在 /etc/docker/daemon.json
中寫入如下內容(如果文件不存在請新建該文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保證該文件符合 json 規范,否則 Docker 將不能啟動。
之后重新啟動服務。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
注意:如果您之前查看舊教程,修改了
docker.service
文件內容,請去掉您添加的內容(--registry-mirror=https://registry.docker-cn.com
),這里不再贅述。
Windows 10
對于使用 Windows 10 的系統,在系統右下角托盤 Docker 圖標內右鍵菜單選擇 Settings
,打開配置窗口后左側導航菜單選擇 Daemon
。在 Registry mirrors
一欄中填寫加速器地址 https://registry.docker-cn.com
,之后點擊 Apply
保存后 Docker 就會重啟并應用配置的鏡像地址了。
遇到的問題解決:
-bash: /etc/docker/daemon.json: Permission denied
將當前用戶添加權限
sudo chmod 777 ××× (每個人都有讀和寫以及執行的權限)
xxx為文件路徑
macOS
對于使用 macOS 的用戶,在任務欄點擊 Docker for mac 應用圖標 -> Perferences... -> Daemon -> Registry mirrors。在列表中填寫加速器地址 https://registry.docker-cn.com
。修改完成之后,點擊 Apply & Restart
按鈕,Docker 就會重啟并應用配置的鏡像地址了。
檢查加速器是否生效
配置加速器之后,如果拉取鏡像仍然十分緩慢,請手動檢查加速器配置是否生效,在命令行執行 docker info
,如果從結果中看到了如下內容,說明配置成功。
Registry Mirrors:
https://registry.docker-cn.com/