从Docker拉取镜像一直失败超时解决办法

article/2025/7/6 15:15:34

项目场景:

在ubuntu中,使用docker拉去镜像时,一直超时,拉去失败。


问题描述

在这里插入图片描述


原因分析:

国外服务器网络不好导致。


解决方案:

解决方案1 设置国内源

我这边测试,更改以后仍然失败
阿里云提供了镜像源:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 登录后你会获得一个专属的地址
使用命令设置国内镜像源:通过vim /etc/docker/daemon.json 进入修改添加 registry-mirrors 内容后重启 Docker

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://***替换为你的地址***.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

此命令会创建一个 /etc/docker/daemon.json 文件,并将国内源的配置写入其中。然后你只需要重启 Docker 服务即可使配置生效,可以通过运行 sudo systemctl restart docker 命令来重启 Docker 服务。

解决方案2 配置加速地址(推荐)

1 配置加速地址:适用于Ubuntu 16.04+、Debian 8+、CentOS 7+

方式一:使用以下命令设置registry mirror:但是需要重启docker服务

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

检查加速是否生效:

查看docker系统信息 docker info,如果从输出结果中看到了 registry mirror 刚配置的内容地址,说明配置成功。

方式二:如果您当前有正在运行的容器不方便重启Docker服务,则不用设置环境也可以直接使用,用法示例:

docker pull do.nark.eu.org/library/mysql:5.7

2 第三方镜像

AtomHub 可信镜像中心 - 大部分需要的镜像都是有的。
可信镜像中心官网:https://atomhub.openatom.cn/
通过搜索需要的镜像名称,进行pull拉取,用法示例:

docker pull atomhub.openatom.cn/amd64/redis:7.0.13

注意:docker compose 中要执行部署时,可以把版本与 atomhub 提供的版本匹配上,之后通过【拉取命令】进行单独拉取后,在执行 docker compose 就可以了。

加速代理站点:

专门为Github用户提供下载加速服务的代理站点。由于Github的下载速度在某些地区可能会受到限制,导致开发者在获取代码库、项目文件等资源时遇到困难。该代理站点通过优化的网络节点和高速服务器,为用户提供快速、稳定的Github资源下载服务。
站点地址:https://docker.888666222.xyz/

第一步:为了加速镜像拉取,你可以使用以下命令设置 registry mirror:sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.888666222.xyz"]
}
EOF
第二步:为了避免 Worker 用量耗尽,你可以手动 pull 镜像然后 re-tag 之后 push 至本地镜像仓库:docker pull docker.888666222.xyz/library/alpine:latest # 拉取 library 镜像
docker pull docker.888666222.xyz/coredns/coredns:latest # 拉取 coredns 镜像

解决方案3 使用代理拉取镜像

第一步:创建配置文件
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf第二步:在文件中添加代理
[Service]
Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080"
Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"第三步:重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker第四步:查看环境变量
sudo systemctl show --property=Environment docker

解决方案4 备用办法:直接传送镜像

国外服务器拉取镜像后打包压缩到本地,然后传输到国内服务器,myimage为镜像名

第一步:A服务器保存Docker镜像
docker save myimage > myimage.tar第二步:传送到B服务器
scp myimage.tar root@192.0.2.0:/home
然后输入B服务器root密码第三步:B服务器加载Docker镜像
cd /home
docker load < myimage.tar第四步:查看镜像
docker images

目前可用的镜像代理:
拉取 pull 镜像时,遇到不可用、关停、访问比较慢的状态,建议同时配置多个镜像源。

供应商地址
DaoCloudhttps://docker.m.daocloud.io
阿里云https://<your_code>.mirror.aliyuncs.com
Docker镜像代理https://dockerproxy.com
百度云https://mirror.baidubce.com
南京大学https://docker.nju.edu.cn
中科院https://mirror.iscas.ac.cn

小福利:
近期 Rainbond 社区为了方便拉取 Docker 镜像,自主搭建了个镜像加速服务,采用 CloudFlare + 国外服务器 Nginx 反代的方案为 Rainbond 社区的用户们提供镜像加速服务。

方式一:直接获取 Docker Hub 镜像
docker pull docker.rainbond.cc/library/node:20
docker pull docker.rainbond.cc/rainbond/rainbond:v5.17.2-release-allinone方式二:配置镜像加速器
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.rainbond.cc"]
}
EOF
systemctl daemon-reload
systemctl restart docker技术栈参考LINK
https://www.rainbond.com/docs/quick-start/quick-install

解决办法千万条:
面对问题时,解决的途径和方法是多种多样的。每个人、每个团队在面对问题时,都可以根据自身的情况和资源,创造性地找到最适合自己的解决办法。

Docker Hub 镜像加速: https://gitee.com/wanfeng789/docker-hub
国内无法访问下载Docker镜像的多种解决方案:https://www.bilibili.com/read/cv35387254/
总结目前国内加速拉取 docker 镜像的几种方法:https://zhuanlan.zhihu.com/p/703322576
从Docker Hub拉取镜像受阻?这些解决方案帮你轻松应对:https://mp.weixin.qq.com/s/pXrxedldKOoD97bMDYy3pQ

参考链接

[1]从Docker拉取镜像一直失败超时?这些解决方案帮你解决烦恼


http://www.hkcw.cn/article/GcVjxwbRSY.shtml

相关文章

告别printf!嵌入式系统高效日志记录方案

目录 1、分级控制与动态过滤机制 2、异步处理与零拷贝架构 3、跨平台适配层设计 在嵌入式系统开发领域&#xff0c;日志记录系统如同数字世界的黑匣子&#xff0c;承载着系统运行状态的关键信息。传统的printf调试方式虽简单易用&#xff0c;但在处理复杂系统时暴露出效率低…

复变函数 $w = z^2$ 的映射图像演示

复变函数 w z 2 w z^2 wz2 的映射图像演示 复变函数 w z 2 w z^2 wz2 是一个基本的二次函数&#xff0c;在复平面上具有有趣的映射性质。下面我将介绍这个函数的映射特性&#xff0c;并使用MATLAB进行可视化演示。 映射特性 极坐标表示&#xff1a;若 z r e i θ z …

【Redis】Zset 有序集合

文章目录 常用命令zaddzcardzcountzrange && zrevrangezrangebyscorezpopmax && bzpopmaxzpopmin && zpopmaxzrank && zrevrankzscorezremzremrangebyrankzremrangebyscorezincrby 集合间操作交集 zinterstore并集 zunionstore 内部编码应用场…

【AI论文】视觉语言模型中的自我修正推理

摘要&#xff1a;推理视觉语言模型&#xff08;VLMs&#xff09;在复杂的多模态任务上表现出了良好的性能。 然而&#xff0c;它们仍然面临着重大挑战&#xff1a;它们对推理错误高度敏感&#xff0c;需要大量带注释的数据或精确的验证器&#xff0c;并且难以在特定领域之外进行…

正则表达式在Java中的应用(补充)

正则表达式在Java中的应用 Java通过java.util.regex包提供正则表达式支持&#xff0c;核心类包括Pattern和Matcher。Pattern用于编译正则表达式模式&#xff0c;Matcher用于匹配操作。基本语法遵循标准正则规则&#xff0c;如\d匹配数字&#xff0c;\w匹配单词字符。 Pattern…

C++ 内存泄漏检测器设计

文章目录 1. C中的动态内存分配2. 什么是内存泄漏3. 内存泄漏的代码案例4. 内存泄漏检查器的设计模块1&#xff1a;位置信息捕获&#xff1a;模块2&#xff1a;内存分配跟踪&#xff1a;模块3&#xff1a;内存释放跟踪&#xff1a;模块4&#xff1a;泄漏记录存储&#xff1a;模…

线程安全与线程池

概念&#xff1a;多个线程&#xff0c;同时操作同一个共享资源的时候&#xff0c;可能会出现业务安全问题。 出现线程安全问题的条件&#xff0c;原因&#xff1a;1.存在多个线程在同时执行 2.同时访问一个共享资源 3.存在修改该共享资源 线程同步&#xff1a;是线程安全…

网络安全的学习路线是怎么样的?

我是几乎完全自学的&#xff0c;十年前从双非跨专业考研到中科大软件学院网络安全专业&#xff0c;读研之前&#xff0c;C语言是自学的&#xff0c;数据结构是自学的&#xff0c;计算机网络是自学的&#xff0c;操作系统是自学的&#xff0c;微机原理是自学的。为了让我们能跟上…

每日算法-250602

每日算法学习记录 - 250602 今天学习和复习了两道利用前缀和与哈希表解决的子数组问题&#xff0c;特此记录。 560. 和为 K 的子数组 题目 思路 本题的核心思想是利用 前缀和 与 哈希表 来优化查找过程。 解题过程 题目要求统计和为 k 的子数组个数。 我们首先预处理出一…

Hadoop学习笔记

&#xff08;1&#xff09;Hadoop概述 Hadoop是一个开源的分布式计算和存储框架&#xff0c;用于处理大规模数据集&#xff08;大数据&#xff09;的并行处理。它由Apache基金会开发&#xff0c;核心设计灵感来自Google的MapReduce和Google文件系统&#xff08;GFS&#xff09…

PCIe—TS1/TS2 之Polling.Configuration (二)

前文 在 Polling.Configuration 次状态中&#xff0c;发送⽅停⽌发送 TS1 序列&#xff0c;转⽽发送 TS2 序列&#xff0c;TS2 序列中的链路和通道&#xff08;lane&#xff09;字段仍然使⽤填充字段填充。 该状态中&#xff0c;发送⽅转⽽发送 TS2 的⽬的是通知链路对端的设备…

如何增加 cPanel中的 PHP 最大上传大小?

PHP通过限制文件上传大小来保护服务器性能&#xff0c;但默认限制对于许多现代网页应用来说太低了。当PHP应用程序显示错误信息&#xff0c;要求你增加PHP的最大上传文件大小时&#xff0c;你可能会遇到这个问题。有多种方法可以提高上传限制&#xff0c;包括直接编辑PHP配置文…

linux——文件系统

被打开的文件放到内存中没有被打开的文件放到磁盘 1. 硬件-->磁盘 磁盘的存储基本单位&#xff1a;扇区&#xff08;512字节&#xff09; 512字节写入到磁盘&#xff0c;磁盘如何转动&#xff1a; 磁盘写入的时候是向柱面进行批量写入的 CHS地址&#xff1a;cylind heade…

HBM的那些事2 写操作

搞懂写&#xff0c;把下面这幅图搞定&#xff0c;基本上就掌握了7成了。 术语解释 WL &#xff1a; write latency&#xff0c;说的是命令到发送数据的WDQS的间隔&#xff0c;注意这里不包含twpre1的时间&#xff0c;通过配置MR1实现。 twpre1: 在发送写数据之前&#xff0c;W…

B1039 PAT乙级JAVA题解 到底买不买

小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串&#xff0c;但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下&#xff0c;某串珠子里是否包含了全部自己想要的珠子&#xff1f;如果是&#xff0c;那么告诉她有多少多余的珠子&#xff1b;如果…

力扣HOT100之多维动态规划:62. 不同路径

这道题用二维dp数组来做相当简单&#xff0c;是一道入门题。直接上动规五部曲&#xff1a; 1.确定dp[i][j]的含义&#xff1a;从起点到位置为[i][j]处的路径总数 2.确定递推公式 dp[i][j] dp[i - 1][j] dp[i][j - 1]; 3.dp数组初始化 dp[0][j] 1;dp[i][0] 1; 4.确定遍历顺序…

css呼吸灯

效果图 只是简单的呼吸效果&#xff0c;您按照需求自己拓展即可。 代码 keyframes light{from{opacity: 1;}to{opacity: 0.2;}}使用 .view{animation-name: light;animation-duration: 1s;animation-timing-function: linear;animation-iteration-count: infinite;animation-…

AI入门——AI大模型、深度学习、机器学习总结

以下是对AI深度学习、机器学习相关核心技术的总结与拓展&#xff0c;结合技术演进逻辑与前沿趋势&#xff0c;以全新视角呈现关键知识点 一、深度学习&#xff1a;从感知到认知的技术革命 核心突破&#xff1a;自动化特征工程的范式变革 深度学习通过多层神经网络架构&#x…

python训练营打卡第42天

Grad-CAM与Hook函数 知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业&#xff1a;理解下今天的代码即可 1.回调函数 def handle_result(result):"""处理计算结果的回调函数"""print(f"计算结果是: {resul…

ISO18436-2 CATII级振动分析师能力矩阵

ISO18436-2021是当前针对针对分析师的一个标准&#xff0c;它对振动分析师的能力和知识体系做了4级分类&#xff0c;这里给出的是一家公司响应ISO18436的CATII级标准&#xff0c;做的一个专题培训的教学大纲。摘自&#xff1a; 【振動噪音產學技術聯盟】04/19-23 ISO 18436-2…