在pull Docker官方镜像的时候会发现io timeout错误,原因是无法访问docker.io;
那有什么办法来解决这个问题吗?我使用阿里云的镜像加速器来解决的,方法如下:
1. 访问阿里云镜像加速器,使用淘宝账号登录,然后就可以获取专属加速器地址
2. 修改docker服务的启动参数,使用systemd与否会影响修改的方法,判断方法如下:
$ ls -d /run/systemd/system
/run/systemd/system # 使用了systemd
ls: cannot access '/run/systemd/system': No such file or directory # 没有使用systemd
a. 没有使用systemd时,编辑/etc/default/docker文件,添加如下一行:
DOCKER_OPTS="--registry-mirror=<专属加速器地址>"
b.使用systemd时,首先找到配置文件所在:
$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-01-24 11:55:27 CST; 21min ago
Docs: https://docs.docker.com
Main PID: 16359 (dockerd)
Tasks: 20
Memory: 35.4M
CPU: 10.792s
CGroup: /system.slice/docker.service
├─16359 /usr/bin/dockerd -H fd://
└─16366 docker-containerd --config /var/run/docker/containerd/containerd.toml
Jan 24 11:55:27 test systemd[1]: Started Docker Application Container Engine.
输出中的Loaded行中的/lib/systemd/system/docker.service 即为配置文件,编辑之,找到ExecStart行,
在其行尾追加" --registry-mirror=<专属加速器地址>"
c. 重启docker服务
$ sudo service docker restart
如果使用了systemd,那么可能还需要运行如下命令:
$ sudo systemctl daemon-reload
最后,镜像加速就完成了,你可以使用docker pull来拉取任何自己想要的镜像了