如何给Docker配置官方国内加速镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给Docker配置官方国内加速镜像相关的知识,希望对你有一定的参考价值。

在国内访问 Docker 官方的镜像,一直以来速度都慢如蜗牛。为了快速访问 Docker 官方镜像都会配置三方加速器,目前常用三方加速器有: 网易 、 USTC 、 DaoCloud 、 阿里云 。
现在 Docker 官方针对中国区推出了镜像加速服务。通过 Docker 官方镜像加速,国内用户能够以更快的下载速度和更强的稳定性访问最流行的 Docker 镜像。
如何使用官方镜像
Docker 中国官方镜像加速可通过 registry.docker-cn.com 访问。目前该镜像库只包含流行的公有镜像,而私有镜像仍需要从美国镜像库中拉取。
您可以使用以下命令直接从该镜像加速地址进行拉取。

$ docker pull registry.docker-cn.com/myname/myrepo:mytag

例如:

$ docker pull registry.docker-cn.com/library/ubuntu:16.04

注:除非您修改了Docker守护进程的–registry-mirror参数,否则您将需要完整地指定官方镜像的名称。例如,library/ubuntu、library/redis、library/nginx
给Docker守护进程配置加速器
如果要配置 Docker 守护进程默认使用 Docker 官方镜像加速。您可以在 Docker 守护进程启动时配置 --registry-mirror 参数。
通过命令行启动Docker

$ docker --registry-mirror=https://registry.docker-cn.com daemon

通过配置文件启动Docker
Docker 版本在 1.12 或更高

修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

$ vim /etc/docker/daemon.json "registry-mirrors": ["https://registry.docker-cn.com"]

Docker版本在 1.8 与 1.11 之间

您可以找到 Docker 配置文件,在配置文件中的 DOCKER_OPTS 加入。不同的 Linux 发行版的配置路径不同,这里以 Ubuntu 为例。
a) Ubuntu 14.04版本
修改 /etc/default/docker 文件,加入如下参数。

$ vim /etc/default/docker DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"

b) Ubuntu 15.04以后版本
Ubuntu 15.04 之后默认使用了 Systemd 管理服务,加速器配置方式稍有些不同。在 Systemd 服务文件中加入启动参数。
$ vim /lib/systemd/system/docker.service [Service] ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://registry.docker-cn.com

修改保存后,重启 Docker 以使配置生效。

$ service docker restart

给Docker守护进程配置加速器后,就可以默认通过官方镜像加速拉取镜像,而无需在每次拉取时指定 registry.docker-cn.com 。
参考技术A 配置镜像加速器
国内访问 Docker Hub 有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了加速器服务,例如:
阿里云加速器
DaoCloud 加速器
灵雀云加速器
注册用户并且申请加速器,会获得如https://jxus37ad.mirror.aliyuncs.com这样的地址。我们需要将其配置到Docker 引擎。

下面以CentOS7为例,说明如何配置镜像加速器
设置Docker开机启动

systemctl enable docker

修改docker.service配置文件

vim /etc/systemd/system/multi-user.target.wants/docker.service

找到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror= ,如:ExecStart=/usr/bin/dockerd--registry-mirror=https://jxus37ad.mirror.aliyuncs.com

重新加载配置

sudo systemctl daemon-reload

重新启动Docker

sudo systemctl restart docker

验证是否生效
执行如下命令:

ps -ef | grep dockerd

如果从结果中看到了配置的 --registry-mirror 参数说明配置成功。

启动Docker,获取镜像
执行如下命令启动Docker

systemctl start docker

Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是Docker Hub 公共注册服务器中的仓库)。
例如从镜像仓库下载ubuntu16.04镜像

docker pull ubuntu:16.04

运行容器
有了镜像后,我们就可以以这个镜像为基础启动一个容器来运行。以上面的ubuntu:16.04 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。

docker run -it ubuntu:16.04 /bin/bash

查看系统版本

cat /etc/os-release

Linux配置Docker镜像加速器

  Docker默认镜像为官方镜像,可以配置成国内加速器提高速度

  登录阿里云控制台,搜索容器镜像服务获取到镜像加速服务地址

  新建配置文件

/etc/docker/daemon.json

   输入以下内容

  "registry-mirrors": ["镜像加速器地址"]

   PS:镜像加速器地址为获取到的地址,也可以是国内任意镜像加速器地址

  重启docker服务即可

sudo systemctl daemon-reload
sudo systemctl restart docker

   PS:对Ubuntu和CentOS都适用

以上是关于如何给Docker配置官方国内加速镜像的主要内容,如果未能解决你的问题,请参考以下文章

Docker 配置国内镜像加速器

Docker 配置国内镜像加速器

Docker如何镜像加速

CentOs配置加速访获取docker官方镜像

docker 配置国内镜像源 linux/mac/windows

docker改国内官方镜像