不重启Docker能添加自签SSL证书镜像仓库吗?
应用背景
在企业应用Docker规划初期配置非安全镜像仓库时,有时会遗漏一些仓库没配置,但此时应用程序已经在Docker平台上部署起来了,体量越大就越不会让人去直接重启Docker。
那么,不重启Docker能添加自签SSL证书镜像仓库吗?
可以,在文中会找到答案。
实现思路
实现思路来自Docker官网(https://docs.docker.com/registry/insecure/),大意是通过复制镜像仓库的自签证书到操作系统目录,或者到docker的配置目录中。这样就可实现不重启使用该仓库了。
这里有个问题是:“某些情况下,例如镜像仓库不是我们搭建的 或 拿不到证书,这时候怎么办?”
基于命令是可以拿得到的
实现方式
命令行
通过openssl输出X.509证书到docker证书目录中实现需求。
# 创建镜像仓库证书目录,xxx.com.cn需替换为镜像仓库域名,如端口非443则需要追加:port
mkdir -p /etc/docker/certs.d/xxx.com.cn# 使用openssl获取镜像仓库的X.509证书,写入刚创建目录下文件中,如端口非443则需替换
echo -n | openssl s_client -connect xxx.com.cn:443 2>/dev/null | openssl x509 > /etc/docker/certs.d/xxx.com.cn/ca.crt# 测试登录、拉取等操作
docker login xxx.com.cn
docker pull xxx.com.cn/somepath/nginx:latest
示例:
mkdir -p /etc/docker/certs.d/harbor.test.com.cn:5000echo -n | openssl s_client -connect harbor.test.com.cn:5000 2>/dev/null | openssl x509 > /etc/docker/certs.d/harbor.test.com.cn:5000/ca.crtdocker login harbor.test.com.cn:5000
Shell脚本
cat > add-insecure-repo.sh <<EOF
#/bin/bash
if [ "\$1x" == "x" ]; thenecho "请输入镜像仓库地址";exit;
fiREPO=\$1
#包含:443需去除
if [[ "\$1" =~ ":443" ]]; thenREPO=\${1%:443*}
fi
#包含https://需去除
if [[ "\$REPO" =~ "https://" ]]; thenREPO=\${REPO#*https://}
fimkdir -p /etc/docker/certs.d/\$REPO
#带端口号的不加:443,不带的需要加
if [[ "\$REPO" =~ ":" ]]; thenecho -n | openssl s_client -connect \$REPO 2>/dev/null | openssl x509 > /etc/docker/certs.d/\$REPO/ca.crt
elseecho -n | openssl s_client -connect \$REPO:443 2>/dev/null | openssl x509 > /etc/docker/certs.d/\$REPO/ca.crt
fi
EOF# 执行示例
sh add-insecure-repo.sh harbor.test.com.cn:5000
写作不易,如果有用就点个赞再走呗!~
参考:
- Shell字符串截取(非常详细) (biancheng.net)
- https://docs.docker.com/registry/insecure/
相关文章:
不重启Docker能添加自签SSL证书镜像仓库吗?
应用背景 在企业应用Docker规划初期配置非安全镜像仓库时,有时会遗漏一些仓库没配置,但此时应用程序已经在Docker平台上部署起来了,体量越大就越不会让人去直接重启Docker。 那么,不重启Docker能添加自签SSL证书镜像仓库吗&…...
Ajax介绍
1.与服务器进行数据交换:通过 Ajax 可以给服务器发送请求,并获取服务器响应的数据。 2.异步交互:可以在 不重新加载整个页面 的情况下,与服务器交换数据并 更新部分网页 的技术,如: 搜索联想、用户名是否可…...
docker 学习--02 常用命令
docker 学习–02 常用命令 docker 学习-- 01 基础知识 docker 学习-- 03 环境安装(win10) 文章目录 docker 学习--02 常用命令1. 帮助启动类命令1.1启动docker1.2 停止docker1.3 重启docker1.4 查看docker1.5 设置开机自启1.6 查看docker概要信息1.7 查…...
socks5 保障网络安全与爬虫需求的完美融合
Socks5代理:跨足网络安全和爬虫领域的全能选手 Socks5代理作为一种通用的网络协议,为多种应用场景提供了强大的代理能力。它不仅支持TCP和UDP的数据传输,还具备更高级的安全特性,如用户身份验证和加密通信。在网络安全中…...
构建智能医疗未来:人工智能在线上问诊系统开发中的应用
随着人工智能技术的飞速发展,医疗领域也正在逐步迎来一场革命性的变革。其中,人工智能在在线上问诊系统开发中的应用,正为医疗产业带来全新的可能性。本文将深入探讨如何利用代码构建智能医疗未来,以提升线上问诊系统的效率、准确…...
css3-grid:grid 布局 / 基础使用
一、理解 grid 二、理解 css grid 布局 CSS Grid布局是一个二维的布局系统,它允许我们通过定义网格和网格中每个元素的位置和尺寸来进行页面布局。CSS Grid是一个非常强大的布局系统,它不仅可以用于构建网格布局,还可以用于定位元素…...
如何在windows电脑安装多个tomcat服务器和乱码问题
前提条件安装jdk 以17版本为例,将jdk8卸载干净 1.首先进入tomcat官网下载 tomcat网址 这里下载tomcat10为例子 1.1 这里选择方式一 下载解压版 2.解压后拷贝三份 分别命名为 8081、 8082、 8083 3.分别对每个tomcat执行以下操作 3.1 找到tomcat所在webapps文…...
flutter:webview_flutter的简单使用
前言 最近在研究如何在应用程序中嵌入Web视图,发现有两个库不错。 一个是官方维护、一个是第三方维护。因为没说特别的需求,就使用了官方库,实现一些简单功能是完全ok的 基本使用 官方文档 https://pub-web.flutter-io.cn/packages/webv…...
Ansys Zemax | 手机镜头设计 - 第 1 部分:光学设计
本文是 3 篇系列文章的一部分,该系列文章将讨论智能手机镜头模组设计的挑战,从概念、设计到制造和结构变形的分析。本文是三部分系列的第一部分,将专注于OpticStudio中镜头模组的设计、分析和可制造性评估。(联系我们获取文章附件…...
jvm从入门到精通
jvm 1.jvm与java体系结构...
[NLP]LLM 训练时GPU显存耗用量估计
以LLM中最常见的Adam fp16混合精度训练为例,分析其显存占用有以下四个部分: GPT-2含有1.5B个参数,如果用fp16格式,只需要1.5G*2Byte3GB显存, 但是模型状态实际上需要耗费1.5B*1624GB. 比如说有一个模型参数量是1M,在…...
Unity引擎使用InteriorCubeMap采样制作假室内效果
Unity引擎制作假室内效果 大家好,我是阿赵。 这次来介绍一种使用CubeMap做假室内效果的方式。这种技术名叫InteriorCubeMap,是UE引擎自带的节点效果。我这里是在Unity引擎里面的实现。 一、效果展示 这个假室内效果,要动态看才能看出效…...
Gin安装解决国内go 与 热加载
get 方式安装超时问题,国内直接用官网推荐的下面这个命令大概率是安装不成功的 go get -u github.com/gin-gonic/gin 可以在你的项目目录下执行下面几个命令: 比如我的项目在E:\Oproject\zl cmd E:\Oproject\zl>就在目录下执行 go env -w GO111…...
安防监控视频云存储平台EasyCVRH.265转码功能更新:新增分辨率配置
安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求,让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上,视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频云存储、视频存储…...
Linux 创建用户赋予root权限,并限定登录ip
1.创建jms用户 创建组 groupadd jms创建用户 -g 指定分组 useradd -m -d /home/jms jms -g jms -s /bin/bash设置用户密码 passwd jms2.赋予root权限 编辑文件 vim /etc/sudoers添加如下内容 jms ALL(ALL:ALL) NOPASSWD: ALL3.限定登录ip 编辑文件,在末尾添…...
基于令牌级 BERT 嵌入的趋势生成句子级嵌入
一、说明 句子(短语或段落)级别嵌入通常用作许多 NLP 分类问题的输入,例如,在垃圾邮件检测和问答 (QA) 系统中。在我上一篇文章发现不同级别的BERT嵌入的趋势中,我讨论了如何生成一个向量表示&a…...
计算机视觉目标检测性能指标
目录 精确率(Precision)和召回率(Recall) F1分数(F1 Score) IoU(Intersection over Union) P-R曲线(Precision-Recall Curve)和 AP mAP(mean…...
什么是webpack?如何在项目中安装配置webpack?
webpack 是前端项目工程化的具体解决方案。 它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性能优化等强大的功能。 让程序员把工作的重心放到具体功能的实现上,提高了前端开发效率和项目的可维护性。目前企业…...
linux两台服务器互相备份文件(sshpass + crontab)
crontab crontab是linux系统自带的定时调度软件,可用于设置周期性被执行的指令,一般用在每天的非高峰负荷时间段运行作业,可在无需人工干预的情况下运行作业。支持在一周或一月中的不同时段运行。 crontab命令允许用户提交、编辑或删除相应的…...
Flask框架-配置日志(1):flask使用日志
一、项目结构 study_flask --| apps/ --| __init__.py --| base/ --| logger.py --| __init__.py --| app.py 二、配置日志功能 1、base/logger.py import os import logging from datetime import datetime,date,timedelta from logging.handlers import RotatingFileHandl…...
【双AI论文写作】基于claude code、codex双AI协同论文写作撰写与质量校准:从“数据分析→论文初稿→交叉审稿“全流程
AI科研新范式不是让模型替你写论文,而是把论文变成一条可追踪、可审稿、可迭代的科研生产线——数据→写作依据文件→AI初稿→独立AI压测→逐轮提分→投稿包,全程文件可复查、责任在人。 【AI写论文的新范式&论文总体结构】: 科研新范式…...
别再只看功率了!用LRS-200-24开关电源给电机供电,我踩过的这个坑你得知道
电机供电实战:LRS-200-24电源选型中那些教科书不会告诉你的细节 深夜的厂房里,两台24V直流电机突然像哮喘发作般间歇性抽搐,伴随开关电源指示灯疯狂闪烁——这个场景让现场工程师血压飙升。当教科书上的功率计算公式遭遇真实世界的电机启动电…...
避开FPGA设计里的“定时炸弹”:用Vivado Report Clock Interaction排查跨时钟域隐患(附常见约束误区)
避开FPGA设计里的"定时炸弹":用Vivado Report Clock Interaction排查跨时钟域隐患(附常见约束误区) 在FPGA系统级设计中,时钟域交叉(CDC)问题就像一颗隐藏的定时炸弹,随时可能在产品量产或现场运行时引爆。据…...
委外加工成本智能核算与利润分析方案:基于LLM+超自动化的端到端实践
在2026年的工业数字化语境下,委外加工不再仅仅是生产能力的延伸,而是企业利润控制的核心环节。随着全球供应链的碎片化,委外成本的精细化核算已成为财务数字化转型的“深水区”。传统模式下,数据孤岛、BOM(物料清单&am…...
从伺服电机到总线端子:手把手教你用EtherCAT搭建一个简易的‘两轴’运动控制Demo
从伺服电机到总线端子:手把手构建EtherCAT两轴运动控制原型 在工业自动化领域,精确的运动控制往往意味着更高的生产效率和更稳定的产品质量。想象一下,当你需要让两个机械臂协同完成装配任务时,如何确保它们的动作像钟表齿轮般精准…...
Grounding DINO:从零解析跨模态开放集检测的架构革新与实战
1. 开放集检测的革命:为什么需要Grounding DINO? 当你在手机相册里搜索"海边日落"时,传统视觉模型只能匹配预设的"沙滩""太阳"等标签,而Grounding DINO却能真正理解语义——这就是开放集检测的魅力…...
PolyHook 2.0导入导出表钩子:IatHook和EatHook的10个核心技巧
PolyHook 2.0导入导出表钩子:IatHook和EatHook的10个核心技巧 【免费下载链接】PolyHook_2_0 C20, x86/x64 Hooking Libary v2.0 项目地址: https://gitcode.com/gh_mirrors/po/PolyHook_2_0 PolyHook 2.0是一个功能强大的C20 x86/x64钩子库,提供…...
地空协同巡检新范式:elec-ops-inspection 3D空间建模技术
地空协同巡检新范式:elec-ops-inspection 3D空间建模技术 【免费下载链接】elec-ops-inspection elec-ops-inspection 是 CANN 社区 Electrical Engineering SIG(电力行业兴趣小组)旗下的电力装备巡检算子库, 覆盖 CV 视觉检测与具…...
量子门合成技术GULPS:异构硬件下的高效量子电路编译
1. 量子门合成基础与GULPS创新点 量子计算的核心操作单元是量子门,其中双量子位门(如CNOT、iSWAP等)在构建量子算法中扮演着关键角色。传统量子门合成方法主要围绕CNOT门展开,这种单一视角在面对现代量子硬件日益丰富的异构指令集…...
树莓派I2C保姆级教程:从命令行工具到Python脚本,一次搞定多个传感器(附避坑指南)
树莓派I2C实战指南:从硬件调试到Python自动化控制 第一次接触树莓派的I2C接口时,我对着密密麻麻的引脚和传感器数据手册发呆了半小时。直到成功读取到第一个温湿度数据,才意识到I2C这种看似复杂的通信协议,其实就像一位耐心的翻译…...
