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 根据属性…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
