> 技术文档 > Docker配置了daemon镜像源但未生效仍然走https://registry-1.docker.io/v2/解决方案_daemon.json配置不生效

Docker配置了daemon镜像源但未生效仍然走https://registry-1.docker.io/v2/解决方案_daemon.json配置不生效

目录

问题描述

1 按如下步骤配置镜像

修改/etc/docker/daemon.json

 检查文件是否正确

2 严格按顺序执行以下命令

重启docker

检查镜像源是否读取成功

3 执行拉取命令


问题描述

已经正确配置了/etc/docker/daemon.json,并且docker info中也可以看到自己配置的Registry Mirrors。

但是拉取镜像时,提示:Error response from daemon: Get \"https://registry-1.docker.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)。

关键解决方案就是要正确重启docker,以及重载daemon。已经配置好镜像源的同学可以直接点击跳至:2 严格按顺序执行以下命令

1 按如下步骤配置镜像源

修改/etc/docker/daemon.json

cd /etc/dockerVim daemon.json

daemon.json文件内容:

{ \"registry-mirrors\": [ \"https://docker.1ms.run\", \"https://docker.domys.cc\", \"https://docker.imgdb.de\", \"https://docker-0.unsee.tech\", \"https://docker.hlmirror.com\", \"https://cjie.eu.org\", \"https://docker.m.daocloud.io\", \"https://hub.rat.dev\", \"https://docker.1panel.live\", \"https://docker.rainbond.cc\" ]}

 检查文件是否正确

[root@192 docker]# cat /etc/docker/daemon.json { \"registry-mirrors\": [ \"https://docker.1ms.run\", \"https://docker.domys.cc\", \"https://docker.imgdb.de\", \"https://docker-0.unsee.tech\", \"https://docker.hlmirror.com\", \"https://cjie.eu.org\", \"https://docker.m.daocloud.io\", \"https://hub.rat.dev\", \"https://docker.1panel.live\", \"https://docker.rainbond.cc\" ]}

2 严格按顺序执行以下命令

重启docker

        很多教程都提到了要停止服务和socket,但是经过漫长的摸索和踩坑,在反复执行这些命令以后发现:

        必须要先停止所有东西,在重载daemon。这样才可以正常拉取镜像。

sudo systemctl stop docker.servicesudo systemctl stop docker.socketsudo systemctl daemon-reloadsudo systemctl restart docker

检查镜像源是否读取成功

执行

docker info | awk \'/Registry Mirrors:/,/^[^ ]/\'

或者也可以直接执行

docker info

可以看到这样的内容时,表示镜像源已经正常读取了

3 执行拉取命令

执行命令

docker pull [镜像名]

例如:

docker pull mysql

可以看到已经能正常拉取镜像了