docker拉取镜像时环境报错

报错

1
2
3
1.docker: 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).

2.Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp ip: connect: connection refused

换源:

1.修改/etc/docker/daemon.json文件

vi /etc/docker/daemon.json

2.导入镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker.chenby.cn",
"https://docker.actima.top",
"https://dockerhub.icu",
"https://atomhub.openatom.cn",
"https://dockerproxy.cn",
"https://docker.nastool.de",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://reg-mirror.qiniu.com"
]
}

3.重启

systemctl daemon-reload
systemctl restart docker

重启的时候可能会报错

1
2
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.

输入dockerd命令返回下面的问题,大概率是json文件里面有 制表符(以及其他非法字符)

1
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 'ã' looking for beginning of object key string

修改DNS服务配置

1.如果DNS服务器出现问题,也可能导致拉取镜像报错。可以通过查看/etc/resolv.conf文件来检查DNS服务器设置

1
cat /etc/resolv.conf

2.如果显示nameserver后面没有IP地址,或者显示的IP地址有问题,可以尝试修改该文件。例如,可以将nameserver 192.168.100.2注释掉,新增nameserver 114.114.114.114和nameserver 8.8.8.8

1
2
3
#nameserver 192.168.100.2
nameserver 114.114.114.114
nameserver 8.8.8.8

3.应该还有个重启网络服务的操作,但是我的kali重启报错,然后我直接重启的kali,配置也还在(昨天换完源修改完DNS配置以后是可以拉镜像的,但是今天再拉就不成功了,然后就有了下面的内容)

给docker配置一个代理

1.在 /etc/systemd/system 目录下创建 docker.service.d 目录

sudo mkdir -p /etc/systemd/system/docker.service.d

2.在该目录下创建 http-proxy.conf 文件

sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf

3.编辑该文件并添加下面的内容

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

4.根据自身需要添加下面的内容并替换为实际的配置,一般只需要加 HTTP_PROXY 和 HTTPS_PROXY

1
2
3
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"

kali用的NAT,我配的物理机地址+物理机代理工具局域网http端口10803(172.16.1.129:10803)

5.重新启动 Docker`

sudo systemctl daemon-reload
sudo systemctl restart docker

成功拉取镜像


docker拉取镜像时环境报错
http://example.com/2025/02/06/docker拉取镜像时环境报错/
作者
manic
发布于
2025年2月6日
许可协议