简体中文
简体中文
English
联系我们
注册
登录
layout空间导航

配置 Docker 镜像加速器

更新时间:2022-03-02 02:10:32下载pdf

中国大陆从 Docker Hub 获取镜像有时会遇到困难,此时可以配置镜像加速器。本文介绍了介绍如何在中国大陆更快速地访问 Docker 镜像仓库,适用于通过容器来部署涂鸦边缘网关的开发者。

镜像加速器

中国大陆很多云服务商都提供了国内加速器服务,例如:

注意:由于镜像服务可能出现宕机,建议同时配置多个镜像。各个镜像站测试结果请到 docker-practice/docker-registry-cn-mirror-test 查看。

说明:国内各大云服务商(腾讯云、阿里云、百度云)均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务,具体请参考本页最后一小节。

配置加速镜像

本小节以网易云镜像服务为例进行介绍。

Ubuntu 16.04+、Debian 8+、CentOS 7+ 系统

目前主流 Linux 发行版均已使用 systemd 进行服务管理,本文介绍如何在使用 systemd 的 Linux 发行版中配置镜像加速器。

  1. 执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。

    $ systemctl cat docker | grep '\-\-registry\-mirror'
    • 如果该命令有输出,那么请执行 $ systemctl cat docker 查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。

    • 如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

    { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

    注意:一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

  2. 重新启动 Docker 服务。

    $ sudo systemctl daemon-reload $ sudo systemctl restart docker

Windows 10 系统

对于使用 Windows 10 的用户,在任务栏托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后在左侧导航菜单选择 Docker Engine,在右侧像下边一样编辑 JSON 文件,之后点击 Apply & Restart 保存后 Docker 就会重启并应用配置的镜像地址了。

{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

macOS 系统

在任务栏点击 Docker Desktop 应用图标 > Perferences,在左侧导航菜单选择 Docker Engine,在右侧像下边一样编辑 JSON 文件。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

检查加速器是否生效

执行 $ docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors: https://hub-mirror.c.163.com/

k8s.gcr.io 镜像

您可以登录 阿里云 容器镜像服务 搜索和查找镜像。

例如 k8s.gcr.io/coredns:1.6.7 镜像可以用 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 代替。

一般情况下有如下对应关系:

# $ docker pull k8s.gcr.io/xxx $ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/xxx

不再提供服务的镜像

镜像不再提供服务或者转换为私有镜像。您可以从镜像配置列表中删除这些镜像,避免拖慢镜像获取速度。

建议关注(Watch镜像测试 的 GitHub 仓库,该仓库会定期更新各个镜像地址的状态。

提供内网镜像的云服务商

如果云服务商提供了 仅供内部 访问的镜像服务,当您的 Docker 运行在其云平台时可以选择它们。例如: