docker引擎备份及解决拉取失败的问题
总结一下本文,docker引擎不是越多越好,此外阿里云的容器引擎加速可适用大多数情况。
docker引擎备份
仅使用阿里云
docker引擎备份,唯一使用的镜像地址是我的阿里云docker镜像加速地址,效果好(注意下面的阿里云镜像加速地址要替换成你自己的)。地址参考:阿里云容器镜像服务。
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://youraliyuncode.mirror.aliyuncs.com"]
}
其它docker引擎备份
额外的镜像地址,某些地址会引起拉取镜像失败。
"https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://cr.console.aliyun.com/","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc","https://alzgoonw.mirror.aliyuncs.com"
问题的由来
我尝试在dify中启用searXNG,需要执行命令:
docker run --rm -d -p 8081:8080 -v "${PWD}/api/core/tools/provider/builtin/searxng/docker:/etc/searxng" searxng/searxng
命令解读
这条docker run命令是用来在Docker容器中启动一个服务(在这个情况下是SearXNG),并且配置了多个选项来控制容器的行为。下面是对每个参数的详细解读:
-
docker run: 这是用于启动一个新的容器的Docker命令。 -
--rm: 当容器退出时,自动删除该容器。这有助于保持系统的整洁,避免留下停止但未删除的容器。 -
-d: 以分离模式(后台运行)启动容器。这意味着容器将在后台运行,而不是占用当前终端。 -
-p 8081:8080: 将主机的端口8081映射到容器内的端口8080。这意味着你可以通过访问主机上的8081端口来与容器内部运行的服务(监听在8080端口上)进行通信。 -
-v "${PWD}/api/core/tools/provider/builtin/searxng/docker:/etc/searxng": 这是一个卷挂载选项,将主机上的目录${PWD}/api/core/tools/provider/builtin/searxng/docker挂载到容器内的/etc/searxng路径。这里${PWD}代表当前工作目录的环境变量值,使得无论从哪个目录执行此命令,都会使用当前目录作为起点来寻找指定的本地路径。这个选项通常用于让容器能够访问主机文件系统中的特定配置或数据文件。 -
searxng/searxng: 指定了要使用的镜像名称。Docker会尝试从Docker Hub下载名为searxng/searxng的最新版本镜像(如果你本地没有的话),然后基于这个镜像创建并启动新的容器。
总结来说,这条命令的作用是以分离模式在后台启动一个SearXNG服务的容器,它将主机的8081端口请求转发给容器内的8080端口,并且将当前目录下的api/core/tools/provider/builtin/searxng/docker目录挂载到容器内的/etc/searxng目录下,以便于配置和数据共享。同时,当容器停止时,它会自动被移除。
执行效果
可惜执行起来会报错:
Unable to find image 'searxng/searxng:latest' locally
docker: Error response from daemon: failed commit on ref "unknown-sha256:391a2ad1486f55c46728d4d466cad83fd3f44627222bd555c3c83bf2e1a39948": commit failed: "unknown-sha256:391a2ad1486f55c46728d4d466cad83fd3f44627222bd555c3c83bf2e1a39948" failed size validation: 7616 != 7293: failed precondition.
See 'docker run --help'.

报错解读
这个报错信息表明在尝试运行searxng/searxng:latest镜像时,Docker遇到了几个问题:
-
找不到本地镜像:首先,错误信息中的第一行“Unable to find image ‘searxng/searxng:latest’ locally”表示你的系统中没有名为
searxng/searxng:latest的Docker镜像。这意味着Docker将尝试从Docker Hub下载该镜像。 -
下载或验证失败:接下来的部分指出,在尝试从Docker Hub下载该镜像或将下载的数据提交到本地存储库时发生了错误。“failed commit on ref…”这部分说明了具体的错误发生在尝试提交一个引用(即下载的镜像部分)到本地仓库的过程中。这里提到的
unknown-sha256:391a2ad1486f55c46728d4d466cad83fd3f44627222bd555c3c83bf2e1a39948是一个SHA-256哈希值,用于唯一标识下载的数据块。 -
校验和验证失败:更具体地,“failed size validation: 7616 != 7293”指出下载的数据块未能通过大小验证检查。这里的数字分别代表了实际下载的数据大小和预期的数据大小,它们不匹配,导致了“failed precondition”的错误。这种情况可能是因为网络问题、文件损坏或者Docker Hub上的镜像本身存在问题。
问题的解决
解决方案
-
尝试重新拉取镜像:首先尝试手动删除并重新拉取镜像,这可以解决由于网络问题或文件损坏导致的问题。
shell docker rmi searxng/searxng:latest docker pull searxng/searxng:latest -
检查是否有特定版本标签可用:有时
latest标签可能会有问题。你可以访问Docker Hub上的SearXNG页面查看并选择一个特定版本的标签来代替latest使用。 -
确保有足够的磁盘空间:确保你的系统上有足够的磁盘空间来下载和存储新的Docker镜像。
-
更新Docker:确保你正在使用的Docker是最新版本,因为旧版本可能存在已知的问题或bug。
如果上述步骤无法解决问题,可能是Docker Hub上的searxng/searxng:latest镜像存在一些问题。在这种情况下,建议关注相关项目的公告或联系维护者获取更多信息。同时,也可以考虑在社区论坛或项目GitHub问题页面上寻求帮助。
尝试手动拉取
即使尝试手动拉取,也会报错:

所以问题明白了,本地没有镜像,自动执行拉取镜像时失败,理由是docker hub里最新镜像验证失败。
网络方法
网上给的方法是:
1、增加docker引擎镜像地址;
2、指定镜像版本。
我都试了,都没用。于是我想,是不是docker引擎镜像地址出错了,比如有一个有问题的地址在捣乱。。。于是我尝试仅保留我的阿里云镜像加速地址,那个相对可靠。
最终解决办法
果然,在将阿里云容器镜像加速地址作为唯一docker引擎地址后,镜像拉取非常顺利,问题解决。

相关文章:
docker引擎备份及解决拉取失败的问题
总结一下本文,docker引擎不是越多越好,此外阿里云的容器引擎加速可适用大多数情况。 docker引擎备份 仅使用阿里云 docker引擎备份,唯一使用的镜像地址是我的阿里云docker镜像加速地址,效果好(注意下面的阿里云镜像加…...
Django项目实战
1、安装django 查看包安装的位置 pip镜像源 镜像源名称镜像地址清华源https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple腾讯云https://mirrors.cloud.tencent.com/pypi/simple华为云https://repo.huaweicloud.co…...
【ThreeJS Basics 1-6】Camera
文章目录 Camera 相机PerspectiveCamera 透视相机正交相机用鼠标控制相机大幅度转动(可以看到后面) 控制组件FlyControls 飞行组件控制FirstPersonControls 第一人称控制PointerLockControls 指针锁定控制OrbitControls 轨道控制TrackballControls 轨迹球…...
SpringBoot-模拟SSE对话交互
SpringBoot-模拟SSE对话交互 后端使用SSE进行会话,前端使用Html模拟大模型的问答交互->【前端】【后端】 1-学习目的 本项目代码仓库:https://gitee.com/enzoism/springboot_sse 1-核心知识点 1)什么是SSE协议->客户端发起一次请求&am…...
删除链表的倒数第N个节点 力扣19
一、题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&a…...
IvorySQL v4 逻辑复制槽同步功能解析:高可用场景下的数据连续性保障
功能简介 IvorySQL v4 基于 PostgreSQL 17,引入了逻辑复制槽同步至热备份数据库的功能。这一改进有效解决了旧版本中主数据库与备份数据库切换后逻辑复制中断的问题。对于那些追求数据高可用性和业务连续性的数据库来说,这无疑是一个重大的利好消息。它…...
vxe-table开启表尾和el-collapse-transition不兼容,动画卡顿
调用控制台 发现是el-collapse-transition内置的计算高度函数计算的高度总是会高一点 直接放弃使用el-collapse-transition 使用下面的div包裹住vxe-table 我的table是渲染出来的会有多个 <el-button click"group.messShow !group.messShow" type"text&q…...
康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术
随着自动驾驶技术的迅猛发展,构建高保真、动态的仿真场景成为了行业的迫切需求。传统的三维重建方法在处理复杂场景时常常面临效率和精度的挑战。在此背景下,3D高斯点阵渲染(3DGS)技术应运而生,成为自动驾驶仿真场景重…...
golang学习笔记——go语言安装及系统环境变量设置
文章目录 go语言安装go envgo getgoproxy测试安装 Go 插件安装 Go 插件依赖工具参考资料用户环境变量和系统环境变量用户环境变量系统环境变量示例设置环境变量的步骤设置用户环境变量设置系统环境变量 验证环境变量总结 2024年最火的5大Go框架1. Gin:高并发接口的“…...
Redis|集群 Cluster
文章目录 是什么能干嘛集群算法-分片-槽位slotredis集群的槽位slotredis集群的分片分片槽位的优势slot槽位映射——业界的3种解决方案小厂:哈希取余分区中厂:一致性哈希算法分区大厂:哈希槽分区 面试题:为什么 Redis 集群的最大槽…...
解锁MacOS开发:环境配置与应用开发全攻略
✨✨✨这里是小韩学长yyds的BLOG(喜欢作者的点个关注吧) ✨✨✨想要了解更多内容可以访问我的主页 小韩学长yyds-CSDN博客 目录 引言 一、MacOS 开发环境配置 (一)必备工具安装 (二)集成开发环境(IDE)选…...
如何通过卷积神经网络(CNN)有效地提取图像的局部特征,并在CIFAR-10数据集上实现高精度的分类?
目录 1. CNN 提取图像局部特征的原理 2. 在 CIFAR - 10 数据集上实现高精度分类的步骤 2.1 数据准备 2.2 构建 CNN 模型 2.3 定义损失函数和优化器 2.4 训练模型 2.5 测试模型 3. 提高分类精度的技巧 卷积神经网络(Convolutional Neural Network, CNN&#…...
监听 RabbitMQ 延时交换机的消息数、OpenFeign 路径参数传入斜杠无法正确转义
背景 【MQ】一套为海量消息和高并发热点消息,提供高可用精准延时服务的解决方案 我现在有一个需求,就是监听 RabbitMQ 一个延时交换机的消息数,而 RabbitTemplate 是不存在对应的方法来获取的。 而我们在 RabbitMQ 的控制台却可以发现延时交…...
希音(Shein)前端开发面试题集锦和参考答案
用 Node 写过什么工具或 npm 包 在实际开发中,使用 Node 编写过多种实用工具和 npm 包。 自动化构建工具 开发了一个简单的自动化构建工具,用于处理前端项目的资源压缩和合并。在前端项目中,为了优化性能,需要对 CSS 和 JavaScript 文件进行压缩,减少文件体积,同时将多个…...
python全栈-Linux基础
python全栈-Linux基础 文章目录 Linux安装/配置网络配置配置Linux远程登录配置虚拟机内部ip配置真机的ip安装XShell和Xftp目录结构用户和用户组用户管理添加用户useradd查看用户id修改用户usermod (选项)(参数)用户密码设置passed (选项)(参数)删除用户userdel [选项] 用户名 用…...
DeepSeek R1助力,腾讯AI代码助手解锁音乐创作新
目录 1. DeepSeekR1模型简介2. 歌词创作流程2.1 准备工作2.2 歌词生成技巧 3. 音乐制作环节3.1 主流AI音乐生成平台 4. 歌曲欣赏5. 总结展望 1. DeepSeekR1模型简介 腾讯AI代码助手最新推出的DeepSeekR1模型不仅在代码生成方面表现出色,其强大的自然语言处理能力也…...
Git安装与配置
安装部分: Windows:下载官网安装包,双击安装,路径选择(注意是否修改),安装选项(是否勾选某些选项,如提到安装时更换编辑器为Nano)。Linux:通过包管…...
【Linux】自定协议和序列化与反序列化
目录 一、序列化与反序列化概念 二、自定协议实现一个加法网络计算器 (一)TCP如何保证接收方的接收到数据是完整性呢? (二)自定义协议 (三)自定义协议的实现 1、基础类 2、序列化与反序列…...
C++基础系列【19】运算符重载
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...
Python-04BeautifulSoup网络爬虫
2025-03-04-BeautifulSoup网络爬虫 记录BeautifulSoup网络爬虫的核心知识点 文章目录 2025-03-04-BeautifulSoup网络爬虫 [toc]1-参考网址2-学习要点3-核心知识点1. 安装2. 导入必要的库3. 发送 HTTP 请求4. 创建 BeautifulSoup 对象5. 解析 HTML 内容5.1 查找标签5.2 根据属性…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
