docker info:
Debug Mode: true
Registry Mirrors:
https://mirror.iscas.ac.cn/
https://docker.nju.edu.cn/
上面两个地址都可以 ping 通
docker pull mysql:
Using default tag: latest
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)
我到底错哪儿了!我把 GPT 都活剐了。。。
1
photon006 44 天前
我今天也是,之前搭建在 cf worker 的源突然用不了,gpt 也无法解决
后来发现部分镜像可以拉 docker pull nginx docker pull linuxserver/syncthing 部分不行,比如 docker pull mzz2017/v2raya cf worker 显示日志是这样 "response": { "status": 401 } 很迷,看起来 gfw 还能区分镜像名拦截,按理说 https 会加密路径、参数,不科学。 |
2
radiocontroller 44 天前 1
https://mirror.ccs.tencentyun.com/ ,用这个试试,放在第一个
|
3
photon006 44 天前
@radiocontroller 这个可以,多谢
|
4
rangoBen OP 我这还是不行,主要是不清楚为什么没有走镜像地址,还是报错: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)
|
5
photon006 44 天前
不对,刚才可以拉的机器是腾讯云,换了其他机器还是不行
Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://mirror.ccs.tencentyun.com/ Live Restore Enabled: false docker pull mzz2017/v2raya docker pull swxk521/udp2raw 错误日志 sudo journalctl -u docker.service -f Sep 23 21:31:26 gateway dockerd[51811]: time="2024-09-23T21:31:26.642633279+08:00" level=info msg="Attempting next endpoint for pull after error: Get \"https://mirror.ccs.tencentyun.com/v2/\": dial tcp: lookup mirror.ccs.tencentyun.com on 10.13.1.7:53: no such host" spanID=7bd8e1faeac6c529 traceID=c91ef66d2a19e9a64d8fda2b34236a77 Sep 23 21:31:41 gateway dockerd[51811]: time="2024-09-23T21:31:41.643277798+08:00" level=warning msg="Error getting v2 registry: Get \"https://registry-1.docker.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)" spanID=7bd8e1faeac6c529 traceID=c91ef66d2a19e9a64d8fda2b34236a77 ping mirror.ccs.tencentyun.com PING mirror.ccs.tencentyun.com (127.0.0.2) 56(84) bytes of data. 64 bytes from 127.0.0.2 (127.0.0.2): icmp_seq=1 ttl=64 time=0.051 ms 64 bytes from 127.0.0.2 (127.0.0.2): icmp_seq=2 ttl=64 time=0.046 ms 64 bytes from 127.0.0.2 (127.0.0.2): icmp_seq=3 ttl=64 time=0.050 ms 这个应该只有腾讯云能用,腾讯云机器可以 ping 通 PING mirror.ccs.tencentyun.com (169.254.0.51) 56(84) bytes of data. 64 bytes from 169.254.0.51: icmp_seq=1 ttl=64 time=0.105 ms 64 bytes from 169.254.0.51: icmp_seq=2 ttl=64 time=0.144 ms 64 bytes from 169.254.0.51: icmp_seq=3 ttl=64 time=0.115 ms 换了其他人搭建在 cf worker 的源也不行,比如 { "registry-mirrors": ["https://dockerhub.icu"], "log-driver":"json-file", "log-opts": {"max-size":"1g", "max-file":"1"} } |
6
photon006 44 天前
@rangoBen 你看日志
sudo journalctl -u docker.service -f 实际上走了镜像源,走不通,回落到官方源 https://registry-1.docker.io/v2/ |
7
coolcoffee 44 天前
国内的镜像都死的差不多了吧,像阿里云的镜像加速拉了一个 postgres 的 latest 镜像居然是两年前的我也是醉了。
快速的解决办法就是手动找 gitpod 或者 github codespace 这类云 ide ,在线拉一个镜像然后用 docker save -o 保存 tar 。更麻烦但是一劳永逸的解决办法就是自建 registry ,设置走代理去拉。 |
8
yov123456 44 天前 via iPhone 1
|
9
cdlnls 44 天前
我一直觉得用代理比镜像好用多了。
配置简单粗暴,缺点就是服务器上不是那么方便。 |
10
halou12 44 天前 via iPhone
应该是 auth.docker.io 的原因
https://blog.lty520.faith/%E5%8D%9A%E6%96%87/%E8%87%AA%E5%BB%BAdocker-hub%E5%8A%A0%E9%80%9F%E9%95%9C%E5%83%8F/#%e5%8f%82%e8%80%83%e6%96%87%e7%ab%a0 |
11
xiri 44 天前
你用的 docker 镜像可能没有对 www-authenticate 请求头做重写,docker pull 的时候会先请求 auth.docker.io 获取认证然后才是从 registry-1.docker.io 拉取镜像文件,然后 auth.docker.io 这个域名大概两周前被墙了,导致只反代/镜像 registry-1.docker.io 资源的站点实际无法拉取成功,最终 failback 到默认源
|
12
DiaoWang 44 天前 via iPhone
直接给 docker 挂代理吧,去年在公司折腾好几天都不行
|
13
SeanChang 44 天前 via iPhone
|
14
poisedflw 44 天前
遇到过同样的问题,更换镜像无法解决,最终还是会请求到 registry-1.docker.io (我的是 mysql:5.7 )。解决办法只有配置代理,能上 v2 基本都有代理吧?
``` # /etc/systemd/system/docker.service.d/http_proxy [Service] Environment="HTTP_PROXY=http://127.0.0.1:7890" Environment="HTTPS_PROXY=http://127.0.0.1:7890" ``` |
15
Baymaxbowen 44 天前
|
16
rangoBen OP @halou12 看之前的日志是有这个原因,不过搞代理比较麻烦,我先不弄了。目前我只是学习
@SeanChang 感谢提供的资源,我直接在 pull 的时候指定 https://dockerproxy.cn 镜像源 可以下载了 docker pull https://dockerproxy.cn/library/mysql:5.7.44 |
17
ahsgjs 44 天前
我才折腾完,和你遇到的问题一样,简要说一下结论:
1 开 socket5 代理, 2 再在 docker 设置 http 代理, 3 然后用 http 转 socket5 的代理转发软件转发(例如 Proxifier ) |