重要

1
例如: 加速器地址:[系统分配前缀].mirror.aliyuncs.com

内容

1
{ "registry-mirrors": ["<镜像加速器地址>"] }

启动Docker加速器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
    echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker sudo service docker restart
    ```  

    
-   Ubuntu 15.04 - 15.10
    
    Ubuntu的配置文件的位置在/etc/systemd/system/docker.service.d/目录下。在这个目录下创建任意的\*.conf文件即可作为配置文件。然后在这个配置文件中添加加速器的配置项,之后重启Docker即可。
    
      
```shell
    sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF' [Service] ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address> EOF sudo systemctl daemon-reload sudo systemctl restart docker
    ```  

    
-   CentOS 7
    
    CentOS的配置方式略微复杂,需要先将默认的配置文件(/lib/systemd/system/docker.service)复制到/etc/systemd/system/docker.service。然后再将加速器地址添加到配置文件的启动命令中,之后重启Docker即可。
    
      
```shell
    sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restart
    ```  
Red Hat 7配置加速器,需要编辑/etc/sysconfig/docker配置文件。在`OPTIONS`配置项中添加加速器配置`--registry-mirror=<your accelerate address>`。最后执行`sudo service docker restart`命令以重启Docker Daemon。
Redhat 6/CentOS 6
在这两个系统上无法直接安装Docker,需要升级内核。
配置加速器时需要编辑/etc/sysconfig/docker配置文件。 在`other_args`配置项中添加加速器配置`--registry-mirror=<your accelerate address>`。最后执行`sudo service docker restart`命令以重启Docker Daemon。
Docker Toolbox
在Windows、Mac系统上使用Docker Toolbox的话,推荐做法是在创建Linux虚拟机的时候,就将加速器的地址配置进去。  
```shell
    docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info
    ```  

    
    如果您已经通过docker-machine创建了虚拟机的话,则需要通过登录该虚拟机来修改配置。
    
    1.  执行`docker-machine ssh <machine-name>`命令以登录虚拟机。
        
    2.  修改/var/lib/boot2docker/profile文件,将`--registry-mirror=<your accelerate address>`添加到`EXTRA_ARGS`中。
        
    3.  执行`sudo /etc/init.d/docker restart`命令以重启Docker服务。
        

## 配置Containerd运行时镜像加速器

Containerd通过在启动时指定一个配置文件夹,使后续所有镜像仓库相关的配置都可以在里面热加载,无需重启Containerd。

1.  如果`/etc/containerd/config.toml`配置文件中已包含`config_path` 配置(例如`"/etc/containerd/cert.d"`),则无需执行此步骤;如果不存在,您可以在配置文件中添加以下`config_path`并重启Containerd使更改生效。
    
      
```shell
    config_path = "/etc/containerd/certs.d"
    ```  
【说明】 /etc/containerd/config.toml 非默认路径,您可以根据实际使用情况进行调整。  
```json
        [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/etc/containerd/certs.d"
        ```  

        
    2.  之后需要检查配置文件中是否有原有mirror相关的配置,如下:
        
          
```json
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://registry-1.docker.io"]
        ```  

- 若原有镜像相关配置,需要清理。

- 执行systemctl restart containerd重启Containerd。

- 若启动失败,执行journalctl -u containerd检查为何失败。通常是因为配置文件仍有冲突导致,您可以依据报错做相应调整。  
```json
    server = "https://registry-1.docker.io" [host."$(镜像加速器地址,如https://xxx.mirror.aliyuncs.com)"] capabilities = ["pull", "resolve", "push"]
    ```  

    
3.  拉取Docker镜像验证加速是否生效。如未生效,请参见[Reference](http://zshipu.com/t/index.html?url=https://github.com/containerd/containerd/blob/main/docs/hosts.md)