Ubuntu 16.04和CentOS 7这类系统都已经开始使用systemd进行系统初始化管理了,对于使用systemd的系统,应该通过编辑服务配置文件docker.service来进行加速器的配置。
在启用服务后
$ sudo systemctl enable docker
可以直接编辑/etc/systemd/system/multi-user.target.wants/docker.service文件来进行配置。
sudo vi /etc/systemd/system/multi-user.target.wants/docker.service
在文件中找到ExecStart=这一行,并且在其行尾添加上所需的配置。假设我们的加速器地址为https://registry.docker-cn.com,那么可以这样配置:
ExecStart=/usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com
保存上述修改的文件。保存退出后,重新加载配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
确认一下配置是否已经生效:
sudo ps -ef | grep dockerd
在1.13版本以后,可以直接docker info查看,如果配置成功,加速器Registry Mirror会在最下面列出来。
如果重启后发现无法启动docker服务,检查一下服务日志,看看是不是之前执行过那些加速器网站的脚本,如果有做过类似的事情,检查一下是不是被建立了/etc/docker/daemon.json以配置加速器,如果是的话,删掉这个文件,然后在重启服务。
另外一种方式可以在 /etc/docker/daemon.json 中配置,若没有可创建,内容:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
同样的,
sudo systemctl daemon-reload
sudo systemctl restart docker
上述两种方式最好只选一种。
对于使用 WINDOWS 10 的系统,在系统右下角托盘图标内右键菜单选择 Settings ,打开配置窗口后左侧导航菜单选择 Docker Daemon 。编辑窗口内的JSON串,填写如阿里云、DaoCloud之类的加速器地址,如:
{
"registry-mirrors": [
"https://sr5arhkn.mirror.aliyuncs.com",
"http://14d216f4.m.daocloud.io"
],
"insecure-registries": []
}
编辑完成,点击Apply保存后Docker服务会重新启动。
作者:清风_d587
链接:https://www.jianshu.com/p/d6adccb19622