目录

🔧Docker 报错“x509: certificate signed by unknown authority”的排查与解决实录

📌 问题背景

🧪 排查过程

步骤 1:确认加速器地址是否可访问

步骤 2:检查 Docker 是否真的使用了镜像加速器

步骤 3:重新申请镜像加速器地址

✅ 解决方案

💡 总结与经验教训

🔚 结语


🔧Docker 报错“x509: certificate signed by unknown authority”的排查与解决实录

在使用 Docker 拉取镜像时,我遇到了如下错误:

Error response from daemon: Get "https://registry-1.docker.io/v2/": x509: certificate signed by unknown authority

这类错误通常是由于 TLS 证书验证失败引起的,但在实际排查中,我发现问题远比字面上看起来复杂,最终原因竟是镜像加速器链接已过期。这篇文章记录整个排查与解决过程,希望能帮到遇到类似问题的你。


📌 问题背景

我的 Docker 配置如下(/etc/docker/daemon.json):

{"log-opts": {"max-size": "5m","max-file": "3"},"exec-opts": ["native.cgroupdriver=systemd"],"data-root": "/home/docker","registry-mirrors": ["https://dcf9dea02c7476d35af619.mirror.swr.myhuaweicloud.com"]
}

按理说,配置了华为云的镜像加速器后,镜像拉取应当变得更加顺畅,但 Docker 却频繁报出 TLS 证书校验错误,导致无法拉取如 hello-world 这样的公共镜像。


🧪 排查过程

步骤 1:确认加速器地址是否可访问

我尝试用 curl 测试镜像加速器接口:

curl -v https://dcf9dea02c7476d35af619.mirror.swr.myhuaweicloud.com/v2/

返回结果如下:

{"errors":[{"errorCode":"SVCSTG.SWR.4010000","errorMessage":"Authenticate Error"}]}

说明 TLS 没问题,但访问被拒绝(401 Unauthorized)。这提示我当前的加速器地址可能需要认证,或者已经失效。


步骤 2:检查 Docker 是否真的使用了镜像加速器

使用以下命令检查配置是否生效:

docker info | grep -i registry

结果表明,Docker fallback 到了官方的 Docker Hub registry-1.docker.io,而 Docker Hub 的证书因系统 CA 不全而报错。


步骤 3:重新申请镜像加速器地址

这时候我怀疑原来的加速器地址已经过期,访问如下华为云控制台页面:

🌐 https://console.huaweicloud.com/swr/?region=cn-north-9#/swr/mirror

重新生成了属于我当前账号的 镜像加速器地址,例如:

https://xxxxx.mirror.swr.myhuaweicloud.com

✅ 解决方案

我将 daemon.json 文件更新为新的加速器地址:

{"log-opts": {"max-size": "5m","max-file": "3"},"exec-opts": ["native.cgroupdriver=systemd"],"data-root": "/home/docker","registry-mirrors": ["https://xxxxx.mirror.swr.myhuaweicloud.com"]
}

然后重启 Docker:

sudo systemctl daemon-reexec
sudo systemctl restart docker

再次执行:

docker pull hello-world

镜像拉取成功 ✅!


💡 总结与经验教训

  • x509 证书报错不一定是 TLS 问题,可能是 Docker fallback 到 Docker Hub;

  • 私有镜像加速器地址是会过期的,使用失效链接会被 401 拒绝;

  • 应定期访问镜像服务平台,更新加速器地址

  • docker info 是排查是否使用加速器的关键工具;

  • 配置完镜像加速器后务必重启 Docker,并验证生效。


🔚 结语

如果你也遇到了类似的 TLS 或证书错误,不妨从镜像加速器配置入手。别急着配置 insecure-registries,很可能只是你用了一个失效的链接。

欢迎留言交流,或将此经验分享到团队,避免大家踩同样的坑!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86160.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86160.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86160.shtml

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

相关文章

达梦以及其他图形化安装没反应或者报错No more handles [gtk_init_check() failed]

本人安装问题和解决步骤如下,仅供参考 执行 DMInstall.bin 报错 按照网上大部分解决方案 export DISPLAY:0.0 xhost 重新执行 DMInstall.bin,无报错也无反应 安装xclock测试也是同样效果,无报错也无反应 最开始猜测可能是连接工具问题&a…

项目节奏不一致时,如何保持全局平衡

项目节奏不一致时,如何保持全局平衡的关键在于:构建跨项目协调机制、合理配置资源、建立共享节奏看板、优先明确战略驱动、引入缓冲与预警机制。其中,构建跨项目协调机制尤为关键,它能将各项目的排期、优先级和风险实时联动&#…

macOS - 安装微软雅黑字体

文章目录 1、下载资源2、安装3、查看字体 app4、卸载字体 macOS 中打开 Windows 传输过来的文件的时候,经常会提示 xxx 字体缺失。下面以安装 微软雅黑字体为例。 1、下载资源 https://github.com/BronyaCat/Win-Fonts-For-Mac 2、安装 双击 Fonts 文件夹下的 msy…

ArkUI-X资源分类与访问

应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中的…

11-StarRocks故障诊断FAQ

StarRocks故障诊断FAQ 概述 本文档整理了StarRocks故障诊断过程中常见的问题和解决方案,涵盖了故障排查、日志分析、性能诊断、问题定位等各个方面,帮助用户快速定位和解决StarRocks相关问题。 故障排查FAQ Q1: 如何排查连接故障? A: 连接故障排查方法: 1. 网络连通性…

敏捷项目管理怎么做?4大主流方法论对比及工具适配方案

在传统瀑布式项目管理中,需求定义、设计、开发、测试等环节如同工业流水线般严格线性推进,展现出强大的流程控制能力。不过今天的软件迭代周期已压缩至周级乃至日级,瀑布式管理难以应对需求的快速变化,敏捷式项目管理则以“小步快…

解决YOLO模型从Python迁移到C++时目标漏检问题——跨语言部署中的关键陷阱与解决方案

问题背景 当我们将Python训练的YOLO模型部署到C环境时,常遇到部分目标漏检问题。这通常源于预处理/后处理差异、数据类型隐式转换或模型转换误差。本文通过完整案例解析核心问题并提供可落地的解决方案。 一、常见原因分析 预处理不一致 Python常用OpenCV&#xff…

【2025CCF中国开源大会】开放注册与会议通知(第二轮)

点击蓝字 关注我们 CCF Opensource Development Committee 2025 CCF中国开源大会 由中国计算机学会主办的 2025 CCF中国开源大会(CCF ChinaOSC)拟于 2025年8月2日-3日 在上海召开。本届大会以“蓄势引领、众行致远”为主题,由上海交通大学校长…

本地聊天室

测试版还没测试过,后面更新不会继续开源,有问题自行修复 开发环境: PHP版本7.2 Swoole扩展 本地服务器环境(如XAMPP、MAMP) 功能说明: 注册/登录系统,支持本地用户数据存储 ​ 发送文本、图片和语音消息 ​ 实…

golang学习随便记x-调试与杂类(待续)

编译与调试 调试时从终端键盘输入 调试带有需要用户键盘输入的程序时,VSCode报错:Unable to process evaluate: debuggee is running,因为调试器不知道具体是哪个终端输入。需要配置启动文件 .vscode/launch.json 类似如下(注意…

MultipartFile、File 和 Mat

1. MultipartFile (来自 Spring Web) 用途: 代表通过 multipart 形式提交(通常是 HTTP POST 请求)接收到的文件。 它是 Spring Web 中用于处理 Web 客户端文件上传的核心接口。 关键特性: 抽象: 这是一个接口&#xf…

.NET 9.0 SignalR 支持修剪和原生 AOT

什么是 SignalR? SignalR 是一个库,可用于向应用程序添加实时 Web 功能。它提供了一个简单的 API,用于创建可从服务器和客户端调用的服务器到客户端远程过程调用 (RPC)。现在,SignalR 在 .NET 8.0 和 .NET 9.0 中支持修剪和原生 …

下载资源管理

本文章仅用于作者管理自己的站内资源,方便日后查找,后续更新资源该文章持续更新。 1、环境安装 python3.11.11环境 python3.7.9 ARM.CMSIS.5.6.0(这个在站内重复上传了) Nordic8.32.1 java8 2、工具类软件安装包 2.1、蓝牙类 SI Connect 蓝牙OT…

​​FFmpeg命令全解析:三步完成视频合并、精准裁剪​​、英伟达显卡加速

一、裁剪 常规裁剪 根据时长裁剪,常规的裁剪 -c copy 表示直接复制流(不重新编码),速度极快,但要求切割时间必须是关键帧。否则裁剪下来的画面开头/结尾 会模糊花屏 ffmpeg -i input.mp4 -ss 00:00:30 -to 00:01:00 …

HTML5 更新的功能

文章目录 前言**一、语义化标签&#xff08;Semantic Elements&#xff09;****二、多媒体支持&#xff08;Audio & Video&#xff09;****三、图形与绘图&#xff08;Canvas & SVG&#xff09;****1. <canvas>****2. SVG 内联支持** **四、表单增强&#xff08;…

React 全面入门与进阶实战教程

文章目录 一、认识 React1.1 核心特点 二、快速搭建 React 项目2.1 使用 Create React App2.2 使用 Vite 创建更轻量的 React 项目2.3 项目结构概览 三、React 核心语法基础3.1 JSX&#xff1a;React 的模板语法3.2 函数组件与 Props3.3 useState&#xff1a;定义响应式状态3.4…

牛津大学开源视频中的开放世界目标计数!

视频中的开放世界目标计数 GitHub PaPer Niki Amini-Naieni nikianrobots.ox.ac.uk Andrew Zisserman azrobots.ox.ac.uk 视觉几何组&#xff08;VGG&#xff09;&#xff0c;牛津大学&#xff0c;英国 ​ 图 1&#xff1a;视频中的目标计数&#xff1a;给定顶行的视频&#…

什么是Sentinel?以及优缺点

Sentinel 是阿里巴巴开源的分布式系统流量控制组件&#xff0c;主要用于服务限流、熔断降级、系统负载保护等场景&#xff0c;帮助提高微服务系统的稳定性和可靠性。它以流量为切入点&#xff0c;通过对流量的监控与控制&#xff0c;保障服务在高并发或异常情况下的可用性。 S…

2025 MWC 上海盛大开幕,聚焦AI、5G-Advanced及开放API

全球商业领袖与政策制定者齐聚一堂,共同探讨中国在API创新中的引领地位与产业发展势头 2025年6月18日,上海——GSMA 2025 MWC 上海今日在上海浦东嘉里大酒店举行开幕式,正式拉开帷幕。本届为期三天的盛会在上海新国际博览中心(SNIEC)举行,汇聚约400位演讲嘉宾与思想领袖,带来主…

使用Python脚本进行日常管理

在IT行业&#xff0c;特别是在系统运维领域&#xff0c;效率和准确性是至关重要的。随着技术的发展&#xff0c;手动处理大量的服务器和网络设备变得越来越不可行。因此&#xff0c;自动化运维成为了解决这一问题的有效手段。Python&#xff0c;作为一种广泛使用的编程语言&…