国内从 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/