Felix Su' Blog

docker 加速器

docker 加速器

常用的加速器服务:

Ubuntu 16.04 或 CentOS 7 配置加速器(或其它使用 Systemd 的系统)

Ubuntu 16.04CentOS 7 这类系统都已经开始使用 systemd 进行系统初始化管理了,对于使用 systemd 的系统,应该通过编辑服务配置文件 docker.service 来进行加速器的配置。

在启用服务后

1
$ sudo systemctl enable docker

可以直接编辑 /etc/systemd/system/multi-user.target.wants/docker.service 文件来进行配置。

1
sudo vi /etc/systemd/system/multi-user.target.wants/docker.service

在文件中找到 ExecStart= 这一行,并且在其行尾添加上所需的配置。假设我们的加速器地址为 https://registry.docker-cn.com,那么可以这样配置:

1
ExecStart=/usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com

保存退出后,重新加载配置并启动服务:

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

确认一下配置是否已经生效:

1
sudo ps -ef | grep dockerd

如果配置成功,生效后就会在这里看到自己所配置的加速器。

Ubuntu 14.04 配置加速器(或其它使用 Upstart 的系统)

Ubuntu 14.04 是使用 upstart 进行系统初始化的,对于这类系统,可以用通过编辑配置文件的方法来配置加速器。

如果是 Ubuntu 14.04,那么编辑 /etc/default/docker,在里面寻找 DOCKER_OPTS 环境变量设置的这一行,在其后添加 -–registry-mirror=<加速器地址>。如果发现该行已被注释,或者不存在该行,那么新添一行即可。

比如,在使用官方源安装了 docker-engine 后,会建立一个默认的 /etc/default/docker,其中相关 DOCKER_OPTS 的行是这样的:

1
2
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

假设我们的加速器地址为 https://registry.docker-cn.com,我们添加一行配置,将其改为:

1
2
3
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"

保存文件后,重启 Docker 引擎:

1
2
3
$ sudo service docker restart
docker stop/waiting
docker start/running, process 3620

重启成功后,确认一下配置是否已经生效:

1
2
$ sudo ps -ef | grep dockerd
root 3620 1 0 04:26 ? 00:00:00 /usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com --raw-logs

如果配置成功,生效后这里就会看到自己所配置的加速器的内容。