卧槽 见鬼了! Docker 配置国内源之后还走官方源,重启无数遍问题依旧

348 天前
 fdghjk

问题是修改/etc/docker/daemon.json 的源为国内源之后,Docker 还是走官方源导致拉取镜像失败。

这个问题只出现在一台国内主机上,其他的国内主机都正常,就这个 nat 机搞特殊


刚装好的 debian12 最新版本系统,最干净的状态,然后装的最新的 Docker ,按照官方的脚本手动安装的,之前安装过无数遍了,排除是安装错误的问题


运行 docker info

Client: Docker Engine - Community
 Version:    24.0.7
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.21.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 24.0.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dd1e886e55dd695541fdcd67420c2888645a495
 runc version: v1.1.10-0-g18a0cb0
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.1.0-17-cloud-amd64
 Operating System: Debian GNU/Linux 12 (bookworm)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.937GiB
 Name: ser074984144056
 ID: 1235fff6-aa25-48a0-a26f-2863a7daceb4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://docker.mirrors.ustc.edu.cn/
 Live Restore Enabled: false

重启 docker 并且 重启 vps

然后拉取 Nginx 测试,docker run -d --name nginx nginx

然后就是报错

Unable to find image 'nginx:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": read tcp 172.16.0.45:38932->34.226.69.105:443: read: connection reset by peer.
See 'docker run --help'.

大佬们求指导怎么排查

3573 次点击
所在节点    Docker
30 条回复
fdghjk
348 天前
curl https://docker.mirrors.ustc.edu.cn

{"message":"docker.mirrors.ustc.edu.cn is currently USTCnet-only","ip":"43.248.96.170"}

----
docker run -d --name nginx nginx


```
Unable to find image 'nginx:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": read tcp 172.16.0.45:46072->54.196.99.49:443: read: connection reset by peer.
See 'docker run --help'.
```

离谱!!!!
iyear
348 天前
{"message":"docker.mirrors.ustc.edu.cn is currently USTCnet-only","ip":"43.248.96.170"}

不是都写了人家的 docker 镜像现在只给校园网内部用了么。。所以错误重试到最后的兜底官方镜像了
jayeli
348 天前
XEdge
348 天前
laminux29
348 天前
docker 正确的用法是,第一次拉镜像,在测试机上,挂代理,拉镜像。

拉好镜像,导出到本地文件服务器,后续拉镜像,从本地文件服务器拉。
siweipancc
347 天前
我看不都不用看就是中大镜像哈哈哈
lazyyz
347 天前
OP 这是都不看报错和使用说明的嘛
wonderfulcxm
347 天前
原来不给外人用了,2333
0x0000009C
347 天前
就是科大源的问题,我装 pve 的时候也是各种重试,最后发现是科大源不给用😅
fdghjk
347 天前
@iyear 卧槽!!!!!!!!!!!!!!!!!!!!!!!!!!啥时候不让的 ? 还真没想往源上想,因为我一般是弄两个源,一个科大源,一个网易源,我在腾讯云的机器上都是可以用的,前两天才用过。我心想,总不能两个源都不能用吧,我一直以为是 IDC 的问题,并且准备找他们对线了,,,



```
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
http://hub-mirror.c.163.com/
http://docker.mirrors.ustc.edu.cn/
Live Restore Enabled: false
```




可问题是,我在腾讯云的机器上这两个源一起用,总是可以拉取成功的,虽然不知道到底走的那个源,,,,


目前我换到#3 楼大哥推荐的源,可以拉取了


谢谢大佬
fdghjk
347 天前
@lazyyz 没往镜像源上面想,我一般会和网易源一起用,腾讯云上用都正常,但是这家 IDC 两个镜像源都不行,我都准备找 IDC 对线了 问 GPT GPT 也说不上来,只能求助 v 友了

谢谢大佬捏
cslive
347 天前
国内没有可用的镜像,无论哪个都慢
echo1937
347 天前
感觉国内现在没有好用的源,我买了腾讯云的主机,它自带的源似乎内网、公网访问速度差异很大,阿里云也是。
boris1993Jr
347 天前
@echo1937 #13 阿里的 Docker 源就他妈血坑,我之前用私有加速链接那个源,配 watchtower 自动更新镜像,结果有一天它把 cloudflare tunnel 的镜像“更新”成了 2022 年的一个版本
我发现容器起不来,而且 cloudflared 的参数都对不上,还去找官方对线来着。然后官方让我检查版本,我才发现这个问题
ysc3839
347 天前
像 Docker Hub, npm registry, pypi 这类无门槛的 UGC(用户生成内容)平台,做镜像的法律风险的成本都是很高的,因此这类镜像是越来越难用了,个人建议还是直接用代理比较好。
fdghjk
347 天前
@ysc3839 我也想用代理的 但是国内机比如腾讯云之内的 检测到你开代理,不是说你对外提供服务,你不提供服务,自己用也不行 直接给你封了,对,用都不准用


真的难
HTDit
347 天前
我们部署工作中,解决问题是不是一半的精力都在处理网络问题。
SingeeKing
347 天前
docker 的设计是默认走镜像,镜像不通会回归官方 registry ,而报错是不会体现到镜像不通的(始终是最后一步官方 registry 连不上的错误)
taoky
347 天前
registry 是 cache 而不是全量镜像,结果 hit rate 非常低,导致从镜像站下载比直接从官方拉还要慢得多,所以只能(对校外)关掉。以及即使不关掉,Docker Hub 自己也有访问频率限制了(登录状态下每 6 小时只允许 200 次 pull ),即使不关使用体验也不会好到哪里去。

https://mirrors.ustc.edu.cn/help/dockerhub.html#id6 提供了本地搭 registry 缓存的方法,和科大镜像站线上部署的是完全一致的。

@0x0000009C pve (proxmox) 的镜像没有做你所说的限制。
vinsony
347 天前
@boris1993Jr #14 哈哈哈,我又一次也是发现 cloudflare/cloudflared 被更新成个旧版本,真的巨坑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX