自签证书的dockerfile中from命令无法拉取镜像而docker的pull命令能拉取镜像

 问题现象:

docker pull images拉取镜像正常

dockerfile中的from命令拉取镜像就会报出证书错误。报错信息如下:

[bjxtb@wj-kvm-test-jenkins-6-243 ceshi_dockerfile]$ docker build .
[+] Building 0.4s (3/3) FINISHED                                                                                                                                                                   docker:default=> [internal] load build definition from Dockerfile                                                                                                                                                         0.0s=> => transferring dockerfile: 273B                                                                                                                                                                         0.0s=> ERROR [internal] load metadata for hub:10043/base_java/debian-jdk8-base:1.0.2                                                                                                            0.3s=> [auth] base_java/debian-jdk8-base:pull token for hub:10043                                                                                                                               0.0s
------> [internal] load metadata for hub:10043/base_java/debian-jdk8-base:1.0.2:
------
Dockerfile:1
--------------------1 | >>> FROM hub:10043/base_java/debian-jdk8-base:1.0.22 |     WORKDIR /hskj/app3 |     
--------------------
ERROR: failed to solve: hub:10043/base_java/debian-jdk8-base:1.0.2: failed to resolve source metadata for hub.:10043/base_java/debian-jdk8-base:1.0.2: failed to authorize: failed to fetch oauth token: Post "https://hub:10043/service/token": tls: failed to verify certificate: x509: certificate signed by unknown authority

尝试各种方法:

/etc/docker/daemon.json文件添加如下参数

insecure-registries

/etc/docker/certs.d/配置免密

两种往上常见方式都无果,最终找到一篇文章:

解决思路:把证书直接用openssl拉下来,然后加入到系统系统证书中,然后使用update-ca-certificates更新,最后重启docker服务,成功!!

方法1:

$ echo -n | openssl s_client -showcerts -connect dseasb33srnrn.cloudfront.net:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /usr/local/share/ca-certificates/cloudfront.crt
$ update-ca-certificatesUpdating certificates in /etc/ssl/certs... 1 added, 0 removed; done.Running hooks in /etc/ca-certificates/update.d....Adding debian:cloudfront.pemdone.done.

 方法2:

$ echo -n | openssl s_client -showcerts -connect dseasb33srnrn.cloudfront.net:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> /etc/ssl/certs/ca-certificates.crt

方法3:

自签证书换为商用证书也可解决。 

上面的方式之所以可以搞定大多数由于公司替换https证书造成的错误,是因为很多程序是使用系统默认的证书(路径)。

对于一些特殊的程序,比如python pip,不使用系统默认的证书,而是使用自己的路径,可以强制它使用*方式2*生成的证书。

参考连接:docker X509 证书错误的终极解决办法 - 孤独的居士 - 博客园

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

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

相关文章

在小红书挖掘信息的实践之旅(第一部分)

摘要 在信息爆炸时代,小红书承载大量用户真实生活分享,蕴含未挖掘价值。作者因日常观察到朋友常依赖小红书经验分享,决定尝试挖掘其中信息。在实践初期,受 DeepSeek 建议启发,确定 “以关键词为线索,层层递…

智慧消防营区一体化安全管控 2024 年度深度剖析与展望

在 2024 年,智慧消防营区一体化安全管控领域取得了令人瞩目的进展,成为保障营区安全稳定运行的关键力量。这一年,行业在政策驱动、技术创新应用、实践成果及合作交流等方面呈现出多元且深刻的发展态势,同时也面临着一系列亟待解决…

粒子群算法 笔记 数学建模

引入: 如何找到全局最大值:如果只是贪心的话,容易被局部最大解锁定 方法有:盲目搜索,启发式搜索 盲目搜索:枚举法和蒙特卡洛模拟,但是样例太多花费巨量时间 所以启发式算法就来了,通过经验和规…

从ai产品推荐到利用cursor快速掌握一个开源项目再到langchain手搓一个Text2Sql agent

目录 0. 经验分享:产品推荐 1. 经验分享:提示词优化 2. 经验分享:使用cursor 阅读一篇文章 3. 经验分享:使用cursor 阅读一个完全陌生的开源项目 4. 经验分享:手搓一个text2sql agent (使用langchain l…

14-6-1C++STL的list

(一)list容器的基本概念 list容器简介: 1.list是一个双向链表容器,可高效地进行插入删除元素 2.list不可以随机存取元素,所以不支持at.(pos)函数与[ ]操作符 (二)list容器头部和尾部的操作 list对象的默…

Couchbase UI: Dashboard

以下是 Couchbase UI Dashboard 页面详细介绍,包括页面布局和功能说明,帮助你更好地理解和使用。 1. 首页(Overview) 功能:提供集群的整体健康状态和性能摘要 集群状态 节点健康状况:绿色(正…

【WebRTC - STUN/TURN服务 - COTURN配置】

在WebRTC中,对于通信的两端不在同一个局域网的情况下,通信两端往往无法P2P直接连接,需要一个TURN中继服务,而中继服务可以选用 COTURN 构建。 注:COTURN 是一个开源的 TURN(Traversal Using Relays around…

基于OSAL的嵌入式裸机事件驱动框架——整体架构调度机制

参考B站up主【架构分析】嵌入式祼机事件驱动框架 感谢大佬分享 任务ID : TASK_XXX TASK_XXX 在系统中每个任务的ID是唯一的,范围是 0 to 0xFFFE,0xFFFF保留为SYS_TSK_INIT。 同时任务ID的大小也充当任务调度的优先级,ID越大&#…

【测试】UI自动化测试

长期更新,建议关注收藏点赞! 目录 概论WEB环境搭建Selenium元素定位 APPAppium 概论 user interface UI 使用工具和代码执行用例。 什么样的项目需要自动化? 需要回归测试、自动化的功能模块需求变更不频繁、项目周期长(功能测试…

【随手笔记】FFT资料整理

&#xff08;一&#xff09;结果验证 函数波形示例1 #define Fs 44800 #define NPT 256 void InitBufInArray() {int i 0;float fx 0;for(i0; i<NPT; i){// fx 1500 * sin(2*PI * i * 350.0 / Fs) // 2700 * sin(2*PI * i * 8400.0 / Fs) // 4000 * sin(2*P…

Airflow:Airflow子流程应用实践

Apache Airflow是一个强大的开源平台&#xff0c;用于以编程方式编写、调度和监控工作流。它的一个强大功能是使用子DAG&#xff08;子有向无环图&#xff09;创建复杂工作流的能力&#xff0c;子DAG本质上是在父DAG中更小的嵌套DAG。在这篇博文中&#xff0c;我们将深入探讨su…

狗狗能吃萝卜吗?

各位铲屎官们&#xff0c;今天咱们来聊聊一个超实用的话题&#xff1a;狗狗能吃萝卜吗&#xff1f;很多新手铲屎官可能会觉得萝卜营养丰富&#xff0c;想给狗狗也尝尝鲜&#xff0c;但其实这里面大有讲究&#xff01; 狗狗可以吃萝卜&#xff0c;但要注意方法 首先&#xff0c…

Excel制作合同到期自动提醒!

大家好&#xff0c;我是小鱼。 今天分享一下如何利用Excel制作合同到期提醒表&#xff0c;实现Excel表格自动计算合同到期日和天数&#xff0c;根据合同状态和到期天数自动填充颜色提醒&#xff0c;超实用。先看一下效果&#xff0c;已经到期的合同会自动被填充为红色&#xf…

Python Flask教程

一、前言 Flask是一个用Python编写的轻量级的Web应用框架。 Flask基于WSGI&#xff08;Web Server Gateway Interface&#xff09;和 Jinja2 模板引擎&#xff0c;旨在帮助开发者快速、简便地创建 Web 应用。 Flask 被称为"微框架"&#xff0c;因为它使用简单的核…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.10 文本数据炼金术:从CSV到结构化数组

1.10 《文本数据炼金术&#xff1a;从CSV到结构化数组》 目录 #mermaid-svg-TNkACjzvaSXnULaB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TNkACjzvaSXnULaB .error-icon{fill:#552222;}#mermaid-svg-TNkACjzva…

Linux进程概念:【环境变量】【程序地址空间】

目录 一.环境变量 1.1基本概念 1.2命令行参数 1.3一个例子&#xff0c;一个环境变量 1.4环境变量的组织方式 1.5查看环境变量的方法 ​编辑 1.6从存储的角度理解环境变量 1.7环境变量最开始是从系统的配置文件里来的 1.8认识更多的环境变量 HOME HISTSIZE HOSTNANE…

医疗集群系统中基于超融合数据库架构的应用与前景探析

一、引言 1.1 研究背景与意义 随着医疗信息化的飞速发展,医疗数据呈爆炸式增长。从日常诊疗记录、患者病历,到各类医疗影像、检查检验数据等,海量信息不断涌现。据统计,医疗数据的年增长率高达 30% 以上 ,2025 年,全球医疗数据量将达到 2314 艾字节(EB)。如此庞大的数…

【leetcode100】从前序与中序遍历序列构造二叉树

1、题目描述 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,nul…

【CSS入门学习】Flex布局设置div水平、垂直分布与居中

水平平均分布 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>…

【ARM】解决MDK在打开工程的时候提示CMSIS的版本不对问题

1、 文档目标 解决MDK在打开使用Compiler 6的工程的时候&#xff0c;提示CMSIS 的API版本过低的报错。 2、 问题场景 客户在Pack包中打开一个示例工程&#xff0c;打算熟悉一下对应芯片的功能和软件的功能&#xff0c;但是&#xff0c;打开软件后&#xff0c;在构建信息输出框…