Docker pull很慢,需要docker加速器

简介: Docker pull很慢,需要用到DOCKER加速器 首先,要"感谢"伟大的墙及其亲属。然后,我们可以使用 Docker 镜像加速器来解决这个问题,加速器就是镜像、代理的概念。

Docker pull很慢,需要用到DOCKER加速器

注意:不要使用加速器网站所给的配置脚本,容易导致错误。我们只需获取其提供的加速器地址即可。

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 的行是这样的:

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
假设我们得到的加速器地址为 http://abcd.m.daocloud.io,我们添加一行配置,将其改为:

# 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=http://abcd.m.daocloud.io"
保存文件后,重启 Docker 引擎:

$ sudo service docker restart
docker stop/waiting
docker start/running, process 3620
重启成功后,确认一下配置是否已经生效:

$ sudo ps -ef | grep dockerd
root      3620     1  0 04:26 ?        00:00:00 /usr/bin/dockerd --registry-mirror=http://abcd.m.daocloud.io --raw-logs
如果配置成功,生效后这里就会看到自己所配置的加速器的内容。

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

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://jxus37ac.mirror.aliyuncs.com,那么可以这样配置:

ExecStart=/usr/bin/dockerd --registry-mirror=https://jxus37ac.mirror.aliyuncs.com

注: Docker 1.12 之前的版本,dockerd 应该换为 docker daemon,更早的版本则是 docker -d。不过还在用那些版本的童鞋,升级吧…

 

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

sudo systemctl daemon-reload
sudo systemctl restart docker
确认一下配置是否已经生效:

sudo ps -ef | grep dockerd
如果配置成功,生效后就会在这里看到自己所配置的加速器。

在 1.13 版本以后,可以直接 docker info 查看,如果配置成功,加速器 Registry Mirror 会在最下面列出来。

如果重启后发现无法启动 docker 服务,检查一下服务日志,看看是不是之前执行过那些加速器网站的脚本,如果有做过类似的事情,检查一下是不是被建立了 /etc/docker/daemon.json 以配置加速器,如果是的话,删掉这个文件,然后在重启服务。

使用配置文件是件好事,比如修改配置不必重启服务,只需发送 SIGHUP 信号即可。但需要注意,目前在 dockerd 中使用配置文件时,无法输出当前生效配置,并且当 dockerd 的参数和 daemon.json 文件中的配置有所重复时,并不是一个优先级覆盖另一个,而是会直接导致引擎启动失败。很多人发现配了加速器后 Docker 启动不起来了就是这个原因。解决办法很简单,去掉重复项。不过因此在这些问题解决前,建议使用修改 docker.service 这类做法来实现配置,而不是使用配置文件 daemon.json。

阿里云的加速器获取方式

第1步:开通了阿里云开发者帐号

阿里云容器Hub服务提供了官方的镜像站点加速官方镜像的下载速度。

开通了阿里云开发者帐号,地址  https://dev.aliyun.com/search.html

第2步:登录阿里云,获取自己的专属加速器地址

开通账号后在个人中心中点击加速器,即访问 https://cr.console.aliyun.com/#/accelerator 获取专属Docker加速器地址,,然后就看到自己的镜像库地址啦。https://cr.console.aliyun.com/#/accelerator

https://xxxxxxxx.mirror.aliyuncs.com 为自己的专属加速器地址:

 

 

目录
相关文章
|
6月前
|
应用服务中间件 Linux nginx
一文学会配置Docker 镜像加速器(阿里云)
一文学会配置Docker 镜像加速器(阿里云)
1118 0
|
6月前
|
Linux Docker Windows
docker pull 报错解决:error pulling image configuration: Get https:..
docker pull 报错解决:error pulling image configuration: Get https:..
197 0
|
Docker 容器
docker pull 镜像下载报错解决方法
docker pull 镜像下载报错解决方法
511 0
docker pull 镜像下载报错解决方法
|
开发工具 Docker 容器
Docker配置阿里云加速器
Docker配置阿里云加速器
|
4月前
|
Docker 容器
Docker【部署 01】在线安装+离线安装+问题处理(设置阿里云镜像加速器)不断完善ing
Docker【部署 01】在线安装+离线安装+问题处理(设置阿里云镜像加速器)不断完善ing
426 0
|
6月前
|
存储 Cloud Native 虚拟化
【云原生】Docker部署/容器加速器(最新版)
【云原生】Docker部署/容器加速器(最新版)
247 0
|
7月前
|
Ubuntu Docker Python
docker pull 镜像拉取命令详解
docker pull 镜像拉取命令详解
530 0
|
8月前
|
存储 数据可视化 Linux
【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解
【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解
842 1
|
8月前
|
存储 Ubuntu 安全
Docker的安装以及加速器的配置
Docker的安装以及加速器的配置
|
9月前
|
应用服务中间件 Docker 容器
22-Docker-常用命令详解-docker pull
22-Docker-常用命令详解-docker pull