在国内使用Docker拉取镜像过程中,由于网络问题经常遇到各种坑,各种常见报错如下:
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).
failed to copy: httpReadSeeker: failed open: could not fetch content descriptor sha256:xxx from remote: not found
基本上都是镜像源的锅,网络上常见的解决方案很多,但都有如下问题:
1.基于Linux系统,很多指令Win上不支持,以及配置文件等路径均不同
2.很多镜像不再支持维护,自2024.7之后阿里系列均无法访问
Windows Docker Desktop的配置方式
windows中使用docker很方便,会有一个GUI界面,在Settings-Docker Engine中,可以对Docker引擎进行配置,配置完点击Apply即可自动重启应用更新
!!!Tips:在linux中,配置文件一般在/etc/docker/daemon.json文件中,但是在win上,不要使用Everything等软件全局搜索daemon.json,搜出来的并不是该配置文件,直接在GUI界面操作即可
可用的镜像源
笔者测试了多个镜像源,常用的阿里系列xxx.aliyuns均不再公开
一些网站上给出的镜像源,也大多失效,截至笔记发布,仍可用的有:
https://hub.rat.dev
https://dockerpull.org/
https://mirror.azure.cn/
踩坑问题:不建议使用太多镜像源
笔者案例:搭建某docker镜像,继承自redis mysql等镜像,由于使用了多个镜像源,在拉取过程中,部分镜像能拉取成功,部分镜像从错误的镜像源拉取,导致各种报错,因此最后的配置建议仅使用一个docker镜像源,docker有点蠢的地方在这里,一个源报错不会跳过去尝试别的
/*
* 嵌入式软件技术交流:738655377
*/