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

项目场景:

在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.pswp.cn/bicheng/83454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KONG根据请求参数限流

背景 价格接口 /search 同时支持缓存查价和实时查价&#xff0c;主要通过searchType字段区分这两种请求。 searchType 为空时为缓存查价&#xff0c;QPS很高。searchType 不为空时为实时查价&#xff0c;但QPS远低于普通查价。 如果直接对该接口限流&#xff0c;当流量波动超…

通俗易懂解析:@ComponentScan 与 @MapperScan 的异同与用法

在 Spring 和 MyBatis 集成开发中&#xff0c;ComponentScan 和 MapperScan 是两个核心注解&#xff0c;但它们的用途和工作机制截然不同。本文将通过通俗的语言和示例代码&#xff0c;带您轻松掌握它们的区别和使用方法。 一、基础概念 ComponentScan&#xff1a;Spring 的“通…

39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法)

39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类&#xff08;函数写法&#xff09; 一、异步业务函数解析 1.1 页面导航函数 async def get(async_driver, url: str http://secure.smartbearsoftware.com/samples/testcomplete12/WebOrders/Login.aspx):await…

Qt 无边框窗口实现拖动与窗口控制(最小化/最大化/关闭)

在 Qt 中&#xff0c;使用 Qt::FramelessWindowHint 可以创建无边框窗口&#xff0c;但这样会导致窗口无法拖动&#xff0c;并且系统默认的标题栏按钮&#xff08;最小化、最大化、关闭&#xff09;也会消失。本文将介绍如何实现无边框窗口的鼠标拖动功能&#xff0c;并添加自定…

Linux中的System V通信标准-共享内存、消息队列以及信号量

在Linux系统中&#xff0c;System V IPC&#xff08;Inter-Process Communication&#xff09;提供了一系列进程间通信的机制&#xff0c;包括共享内存、消息队列和信号量。这些机制在系统中发挥了重要作用&#xff0c;帮助进程之间进行数据交换和同步。本文将详细介绍这些机制…

postman工具使用

基本功能操作 常用断言 定义&#xff1a;postman 断言借助 JavaScript - js 语言编写代码&#xff0c;自动判断预期结果与实际结果是否一致。&#xff08; 注意断言 代码写在 Tests 的标签中&#xff09; 断言响应状态码 断言响应体是否包含某个字符串&#xff08;Response bo…

VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程&#xff08;版权10090845&#xff09;是我推出的第二套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器&#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

算法-集合的使用

1、set常用操作 set<int> q; //以int型为例 默认按键值升序 set<int,greater<int>> p; //降序排列 int x; q.insert(x); //将x插入q中 q.erase(x); //删除q中的x元素,返回0或1,0表示set中不存在x q.clear(); //清空q q.empty(); //判断q是否为空&a…

C++文件和流基础

C文件和流基础 1. C文件和流基础1.1 文件和流的概念1.2 标准库支持1.3 常用文件流类ifstream 类ofstream 类fstream 类 2.1 打开文件使用构造函数打开文件使用 open() 成员函数打开文件打开文件的模式标志 2.2 关闭文件使用 close() 成员函数关闭文件关闭文件的重要性 3.1 写入…

Maven---配置本地仓库

目录 5. 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5.3 找到配置文件路径&#xff0c;使用VSCode方式打开 5.4 新增一行代码 5.5 复制本地仓库路径&#xff0c;设置存储路径 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5…

Vue3 + Element Plus + TypeScript 中 el-cascader 实现模拟用户点击功能

模拟点击&#xff0c;调用 el-cascader 的公开方法 togglePopperVisible 来展开下拉框 MaterialOut.vue <script setup lang"ts" name"MaterialOut"> ...... import { ElMessage, type ElCascader } from "element-plus";// 级联组件实例…

新能源汽车与油车销量

中国油车与新能源车销量对比&#xff08;2022-2025年&#xff09; ‌1. 市场份额演化&#xff08;2022-2025年&#xff09;‌ ‌年份‌ ‌新能源车销量 &#xff08;渗透率&#xff09;‌ ‌燃油车销量 &#xff08;渗透率&#xff09;‌ ‌关键事件‌ ‌2022‌ 688.7万辆…

C++ list代码练习、set基础概念、set对象创建、set大小操作

对应力扣&#xff0c;回文链表&#xff0c;代码见下 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, …

前端面试宝典---前端水印

明水印 1. 背景图 通过css的background-image加载背景图 2. canvasbackground水印 前端水印实现思路与示例代码 一、核心实现思路 Canvas动态生成水印 通过Canvas绘制文本或图案&#xff0c;将生成的图像转为Base64格式&#xff0c;作为背景图重复平铺到目标元素上。例如&…

恶意软件清理工具,让Mac电脑安全更简单

​你的Mac最近是不是开始表演"电子迷惑行为"&#xff1f;浏览器主页突然变成澳门赌场&#xff0c;风扇转得比直升机螺旋桨还猛......恭喜你&#xff01;可能中奖获得"恶意软件大礼包"&#xff01;别慌&#xff0c;今天就教你用恶意软件清理工具化身数字特工…

Spring Boot 3.X 下Redis缓存的尝试(二):自动注解实现自动化缓存操作

前言 上文我们做了在Spring Boot下对Redis的基本操作&#xff0c;如果频繁对Redis进行操作而写对应的方法显示使用注释更会更高效&#xff1b; 比如&#xff1a; 依之前操作对一个业务进行定入缓存需要把数据拉取到后再定入&#xff1b; 而今天我们可以通过注释的方式不需要额外…

Deepseek应用技巧-Dify安装和踩坑指南

前言&#xff1a;Dify的名号是非常大的&#xff0c;作为私有化AI部署中必不可少的一个组件&#xff0c;他的功能和COZE十分相似&#xff0c;可以进行工作流和智能体的搭建&#xff0c;有非常强大的功能&#xff0c;那本节就将来揭开Dify的神秘的面纱&#xff0c;首先看一下Dify…

ubuntu24.04安装教程(图文详解)

Ubuntu 24.04 LTS&#xff0c;代号 Noble Numbat&#xff0c;于 2024 年 4 月 25 日发布&#xff0c;现在可以从 Ubuntu 官方网站及其镜像下载。此版本将在 2029 年 4 月之前接收为期五年的官方安全和维护更新。 关于 Ubuntu 24.04 LTS 的一些关键点&#xff1a; 发布日期&am…

数据绑定页面的完整的原理、逻辑关系、实现路径是什么?页面、表格、字段、属性、值、按钮、事件、模型、脚本、服务编排、连接器等之间的关系又是什么?

目录 一、核心概念:什么是数据绑定页面? 二、涉及的组件及其逻辑关系 页面(Page): 表格(Table): 字段(Field): 属性(Property): 值(Value): 按钮(Button): 事件(Event): 模型(Model): 脚本(Script): 服务(Service): 服务编排(Se…

【 SpringCloud | 微服务 网关技术 】

单体架构时我们只需要完成一次用户登录、身份校验&#xff0c;就可以在所有业务中获取到用户信息。而微服务拆分后&#xff0c;每个微服务都独立部署&#xff0c;这就存在一些问题&#xff1a; 每个微服务都需要编写登录校验、用户信息获取的功能吗&#xff1f; 当微服务之间调…