docker pull 超时Timeout失败的解决办法

news/2024/10/4 15:34:52/

当国内开发者docker pull遇到如下提示时,不要惊讶

[root@vm /]# docker pull postgres
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 128.121.146.235:443: i/o timeout
[root@vm /]# 

自2024-06-06开始,国内的Docker Hub镜像加速器相继不能正常使用,之前配置的

[root@vm /]# cat /etc/docker/daemon.json 
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

不论清华、阿里云、科大、163等等都已失效,或只允许内部访问。
其实有更简单、速度更快的办法,以下是经过亲自测试可行。

一、AtomHub可信镜像中心

由开放原子开源基金会牵头,联合多家行业伙伴发起,遵循OCI(Open Container Initiative,以下简称“OCI”)容器镜像标准,旨在为开发者提供开放中立、安全可信、高效便捷的新一代开源容器镜像中心

特点:国内访问速度快(推荐)

网址:https://hub.atomgit.com

在这里插入图片描述

例如:搜索自己需要的镜像
在这里插入图片描述
然后
docker pull hub.atomgit.com/library/postgres:15-alpine3.17
就OK了

二、Chainguard (备用)

Chainguard 是一个专注于提供安全容器镜像的公司,致力于从源头消除 CVE(Common Vulnerabilities and Exposures,通用漏洞和曝光)问题。

特点:镜像文件比较小

https://images.chainguard.dev

在这里插入图片描述
搜索镜像
在这里插入图片描述
docker pull cgr.dev/chainguard/postgres

简单对比一下速度

[root@vm apisql]# time docker pull cgr.dev/chainguard/postgres
Using default tag: latest
latest: Pulling from chainguard/postgres
d3f07142fdd6: Pull complete 
Digest: sha256:fd46506abb83d63993c08da469434079e792de2c6f5459bbb99fbaecf8cc7835
Status: Downloaded newer image for cgr.dev/chainguard/postgres:latest
cgr.dev/chainguard/postgres:latestreal	0m57.700s
user	0m0.019s
sys	0m0.011s[root@vm apisql]# time docker pull hub.atomgit.com/library/postgres:15-alpine3.17
15-alpine3.17: Pulling from library/postgres
ee4b481db132: Pull complete 
c701bdac6d5c: Pull complete 
efb481014518: Pull complete 
7a8407cb3541: Pull complete 
f5dd2441c6c6: Pull complete 
980832abee30: Pull complete 
859d0db327f6: Pull complete 
b00939ae8502: Pull complete 
Digest: sha256:1a6fab51c426cf01602f93cc13767f92fc333f0a7e598ac6d0640840144ea8b2
Status: Downloaded newer image for hub.atomgit.com/library/postgres:15-alpine3.17
hub.atomgit.com/library/postgres:15-alpine3.17real	0m8.241s
user	0m0.012s
sys	0m0.011s
[root@vm apisql]# docker images
REPOSITORY                         TAG             IMAGE ID       CREATED         SIZE
cgr.dev/chainguard/postgres        latest          47473ce3dbef   11 hours ago    100MB
hub.atomgit.com/library/postgres   15-alpine3.17   ed93f48a4bd9   10 months ago   248MB

ChainGuard 拉取的镜像体积较小,仅100MB,但需要57秒;
而开放原子开源基金会 AtomHub 提供的镜像体积约为250MB,仅需8秒。

在这里插入图片描述

最后,我要特别感谢开放原子开源基金会 AtomHub 的成员单位,他们为开发者做出的贡献是值得称赞的。


http://www.ppmy.cn/news/1533783.html

相关文章

关于对比学习(简单整理

什么是对比学习? ​ 对比学习是一种学习方法,侧重于通过对比正反两方面的实例来提取有意义的表征。它利用的假设是,在学习到的嵌入空间中,相似的实例应靠得更近,而不相似的实例应离得更远。通过将学习作为一项辨别任务…

在Git中操作失误,如何撤回

在 Git 中,撤回操作可以通过多种方式实现,具体取决于你想要撤回的操作类型(如提交、暂存、修改等)。以下是几种常见场景及其相应的撤回方法: 1. 撤回未暂存的修改 如果你在工作区中进行了更改,但还没有将…

适配器模式【对象适配器模式和类适配器模式,以及具体使用场景】

2.1-适配器模式 ​ 类的适配器模式是把适配者类的API转换成为目标类的API,适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作,其实在具体的开发中,对于自己系统一开始的设计不会优先考虑适配器模式,通常会将接…

滚雪球学MySQL[8.3讲]:数据库中的JSON与全文检索详解:从数据存储到全文索引的高效使用

全文目录: 前言8.3 JSON与全文检索1. JSON数据类型的使用1.1 JSON 数据类型概述1.2 JSON 数据的插入与查询1.3 JSON 常用函数与操作1.4 JSON使用的优缺点与性能考虑 2. 全文索引与全文检索2.1 全文索引概述2.2 全文检索的使用2.3 全文检索模式2.4 全文索引优化与性能…

Electron 安装以及搭建一个工程

安装Node.js 在使用Electron进行开发之前,需要安装 Node.js。 官方建议使用最新的LTS版本。 检查 Node.js 是否正确安装: # 查看node版本 node -v # 查看npm版本 npm -v注意 开发者需要在开发环境安装 Node.js 才能编写 Electron 项目,但是…

QT系统学习篇(3)- Qt开发常用算法及控件原理

一、Qt中 Qt框架中和模块提供一些算法和常用函数 比如 double d1-59.6,d292.5;double d3qAbs(d1);double d4qMax(d1,d2);qDebug()<<"d3"<<d3<<"d4"<<d4<<endl;二、Qt窗口及控件原理设计 理解Qt窗口的生成、属性 1、Qt窗口…

Windows 环境搭建 CUDA 和 cuDNN 详细教程

CUDA CUDA&#xff08;Compute Unified Device Architecture&#xff09;是由NVIDIA公司推出的一个并行计算平台和编程模型&#xff0c;它允许开发者使用NVIDIA GPU进行通用计算&#xff08;即GPGPU&#xff09;&#xff0c;从而加速各种计算密集型任务。CUDA提供了一套基于C/C…

Linux·进程概念(下)

1. 进程优先级 优先级就是获得某种资源的先后顺序&#xff0c;因为CPU资源是有限的&#xff0c;因此各个进程之间要去争取CPU的资源。 那么针对Linux操作系统下的PCB中&#xff0c;也就是task_struct结构体中&#xff0c;使用了int类型的变量记录了每个进程的优先级属性&#x…