# Docker 国内镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难，此时可以配置镜像加速器。

Docker 官方和国内很多云服务商都提供了国内加速器服务，例如：

* **科大镜像**：[**https://docker.mirrors.ustc.edu.cn**](https://docker.mirrors.ustc.edu.cn)
* ~~**网易（已关闭，不在推荐**）：~~[~~**https://hub-mirror.c.163.com**~~](https://hub-mirror.c.163.com)
* 阿里云：**https\://<你的ID>.mirror.aliyuncs.com**
* **七牛云加速器**：[**https://reg-mirror.qiniu.com**](https://reg-mirror.qiniu.com)
* **百度**：[**https://mirror.baidubce.com**](https://mirror.baidubce.com)
* **上海交大**：[**https://docker.mirrors.sjtug.sjtu.edu.cn**](https://docker.mirrors.sjtug.sjtu.edu.cn)
* **南京大学**：[**https://docker.nju.edu.cn**](https://docker.nju.edu.cn)
* **Rainbond**: [**https://docker.rainbond.cc**](https://docker.rainbond.cc)
* ~~**中国镜像加速（已关闭，不在推荐**）：~~[~~**https://registry.docker-cn.com**~~](https://registry.docker-cn.com)
* ISCAS：[**https://mirror.iscas.ac.cn**](https://mirror.iscas.ac.cn/)
* **清华大学镜像：**[**https://mirrors.tuna.tsinghua.edu.cn**](https://mirrors.tuna.tsinghua.edu.cn/)

当配置某一个加速器地址之后，若发现拉取不到镜像，请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务，建议根据运行 Docker 的云平台选择对应的镜像加速服务。

### 阿里云镜像加速器

阿里云镜像获取地址：<https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors>，登陆后，左侧菜单选中镜像加速器就可以看到你的专属地址了：

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-d60e74bac435a4a3daad6d57aa74a40302e44667%2Fmirror1.png?alt=media)

### 镜像加速器配置

#### Ubuntu14.04、Debian7Wheezy

对于使用 upstart 的系统而言，编辑 /etc/default/docker 文件，在其中的 DOCKER\_OPTS 中配置加速器地址：

DOCKER\_OPTS="--registry-mirror=<https://docker-0.unsee.tech>"

重新启动服务:

```shell
$ sudo service docker restart
```

#### Ubuntu16.04+、Debian8+、CentOS7

对于使用 systemd 的系统，创建或修改 /etc/docker/daemon.json 文件

```shell
sudo vi /etc/docker/daemon.json
```

在文件里写入如下内容：

```json
{
  "registry-mirrors": ["https://docker-0.unsee.tech"]
}
```

#### 完美配置说明——重点

```
----------------------等级1----------------------
"https://docker-0.unsee.tech",
"https://mirror.iscas.ac.cn",
"https://docker.imgdb.de",
"https://docker.m.daocloud.io",
"https://docker.rainbond.cc",

----------------------等级2----------------------
"https://reg-mirror.qiniu.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.nju.edu.cn",

----------------------等级3----------------------

"https://6kx4zyno.mirror.aliyuncs.com",
"https://almtd3fa.mirror.aliyuncs.com",

----------------------等级4----------------------

"https://mirrors.tuna.tsinghua.edu.cn",
"https://docker.mirrors.ustc.edu.cn",



```

> 说明：上面镜像加速，都是以 **docker pull node:20-alpine** 拉取node:20-alpine为例\
> 等级1：代表浏览器+docker pull都可以访问流畅\
> 等级2：代表浏览器403，docker pull可以访问流畅\
> 等级3：代表第三方个人的加速器\
> 等级4：代表可以访问部分镜像资源，部分包会存在下载成功，读取错误，导致镜像无法拉取

一条龙完美配置

```json
{
  "registry-mirrors": [
    "https://docker-0.unsee.tech",
    "https://mirror.iscas.ac.cn",
    "https://docker.imgdb.de",
    "https://docker.m.daocloud.io",
    "https://docker.rainbond.cc",
    
    "https://reg-mirror.qiniu.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.nju.edu.cn",

    "https://6kx4zyno.mirror.aliyuncs.com",
    "https://almtd3fa.mirror.aliyuncs.com",

    "https://mirrors.tuna.tsinghua.edu.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
```

```shell
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
```

#### Windows 10

对于使用 Windows 10 的系统，在系统右下角托盘 Docker 图标内右键菜单选择 Settings，打开配置窗口后左侧导航菜单选择 Daemon。在 Registrymirrors 一栏中填写加速器地址 **<https://docker.mirrors.ustc.edu.cn/>** ，之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-629b95e29a0d7447db733125e4ec6ba99fe3f386%2Fmirror2.png?alt=media)

windows 桌面端的Docker Engine配置文件所在目录为 `C:\Users\Administrator\.docker\daemon.json`

> \[!CAUTION] 注意：\
> 特别是在Windows配置Docker Engine镜像源时， 要保证json语法正确，否则会导致，Docker守护进程启动失败\
> 解决方式：手动修改`C:\Users\Administrator\.docker\daemon.json`改为正确的json语法，重启Docker Desktop 应用程序即可

#### Mac OS X

对于使用 Mac OS X 的用户，在任务栏点击 Docker for mac 应用图标-> Perferences...-> Daemon-> Registrymirrors。在列表中填写加速器地址 **<https://reg-mirror.qiniu.com>** 。修改完成之后，点击 Apply\&Restart 按钮，Docker 就会重启并应用配置的镜像地址了。

![](https://877359518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtduzpXD-eRCqVxsG11%2Fuploads%2Fgit-blob-a2adc0d43991b6ae1e29a643945d5e390ee62c49%2Fmirror3.png?alt=media)

### 检查加速器是否生效

检查加速器是否生效配置加速器之后，如果拉取镜像仍然十分缓慢，请手动检查加速器配置是否生效，在命令行执行 **docker info**，如果从结果中看到了如下内容，说明配置成功。

```shell
docker info
Registry Mirrors:
    https://reg-mirror.qiniu.com
```

### 镜像加速原理

Docker 的镜像源地址配置遵循​​从上到下依次尝试​​的机制。当配置多个镜像源时，Docker 会按照配置文件中定义的顺序依次尝试连接，若某个镜像源不可用（如超时或返回错误），则会自动尝试下一个镜像源，直到成功拉取镜像或所有源均失败为止。

但有的时候，如果 Docker 在下载镜像过程中遇到文件读取失败（例如镜像损坏、存储介质故障或权限问题），通常会直接终止操作并报错，而不会继续尝试其他镜像源，如：`https://mirrors.tuna.tsinghua.edu.cn`。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tuonioooo-notebook.gitbook.io/docker/install/docker-mirror.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
