【k8s】--insecure-registry详解 ( 访问仓库、https、http)
文章目录
- 一、--insecure-registry是什么
- 二、如何使用--insecure-registry
- 三、--insecure-registry的安全风险
- 四、--insecure-registry的替代方案
- 五、总结
- 参考
一、–insecure-registry是什么
--insecure-registry
是docker中用来设置与docker registry通信的安全限制的一个参数,如果设置为true或1,意味着Docker将会在与这个registry通信时跨过证书问题,不再验证registry的TLS认证证书,可以忽略证书错误,从而绕过Docker安全机制。
这个描述很奇怪,https一般是服务器端开启的,客户端必须按照Https访问。除非docker服务器端同时开启了https、http,然后客户端默认禁用http,而
--insecure-registry
允许本地开启http
这个参数的使用主要是为了方便在开发过程中迅速测试镜像,或者当运行docker的主机不具备安全加密能力的时候,可以选择打开这个开关。
在正式的生产环境中,一般情况下禁用这个选项,因为这个选项的打开为我们的系统带来很大的安全隐患。
二、如何使用–insecure-registry
使用–insecure-registry,我们可以在运行docker命令时添加这个参数。
docker run --rm --insecure-registry registry.local:5000 busybox
在上面的命令中,我们通过--insecure-registry
参数指定了registry的地址为registry.local:5000,这意味着docker将会忽略registry.local:5000的SSL证书认证。
在Docker 1.13.1及之后的版本中,可以使用以下的方式来配置–insecure-registry的默认值:
{"insecure-registries" : ["registry.local:5000"]
}
这个配置文件需要保存为 /etc/docker/daemon.json
。
需要注意的是,在Windows操作系统中,这个配置文件需要在C:\ProgramData\Docker\config目录下创建。
记得使用 service docker restart
重启docker服务
上述方法只能对单个服务器生效,如果想对所有的生效,可以使用 “insecure-registries” : [ “0.0.0.0/0” ]
三、–insecure-registry的安全风险
虽然使用--insecure-registry
参数可以帮助我们快速测试镜像,但是打开这个选项也带来了很大的安全风险。
当我们忽略SSL证书时,意味着所有与该registry通信的数据都是明文传输,容易受到中间人攻击。黑客可以通过在通信过程中截取传输的数据,来获取敏感信息或者篡改数据。
同时,如果registry服务器本身被黑客攻击,会助长黑客利用中间人攻击的可能性,可以通过域名欺骗等方式进行攻击。
四、–insecure-registry的替代方案
如果我们有必要经常使用–insecure-registry,可以选择使用内部CA证书,将证书写入docker TLS认证证书池中,实现相对的安全性。这个过程需要创建自签名证书来为docker registry签名。
下面是一个创建自签名证书的例子:
openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -in csr.pem -signkey key.pem -out cert.crt
执行完上面的命令,会生成三个文件:key.pem、csr.pem、cert.crt,其中cert.crt就是我们创建的自签名证书。我们将cert.crt拷贝到所有需要访问registry的docker客户端主机上,然后重新启动docker服务。
当我们在运行docker命令时,可以使用–tlsverify参数打开docker TLS验证。我们可以将上面生成的key.pem,csr.pem,cert.crt放在服务器的某个目录中,然后使用以下命令启动docker:
docker --tlsverify --tlscacert=/path/to/ca.pem --tlscert=/path/to/cert.pem --tlskey=/path/to/key.pem -H=127.0.0.1:5555 version
通过使用–tlsverify参数,在与registry通信时,Docker将会验证认证证书的有效性,实现了更高的安全性。
五、总结
–insecure-registry是Docker中用来临时绕过TLS认证证书认证的参数,可以在开发、测试过程中节省时间和精力。但是在生产环境中,为了保证系统的安全性,我们需要关闭这个参数。
如果确实有必要经常使用这个参数,我们可以选择使用内部CA证书来实现相对的安全性。
在使用–insecure-registry时,我们需要时刻注意安全风险,并采取相应的防范措施。
参考
–insecure-registry详解
相关文章:

【k8s】--insecure-registry详解 ( 访问仓库、https、http)
文章目录 一、--insecure-registry是什么二、如何使用--insecure-registry三、--insecure-registry的安全风险四、--insecure-registry的替代方案五、总结参考 一、–insecure-registry是什么 --insecure-registry是docker中用来设置与docker registry通信的安全限制的一个参数…...

ElementUI,修改el-cascader的默认样式
Element UI 中的下拉弹窗是通过在整个body标签末尾动态添加div实现的,所以修改样式时,必须要定义全局样式才能实现样式覆盖,那怎样才能避免全局的样式污染呢? 解决办法:通过给组件添加自定义的 popper-class 属性来避…...

外卖系统海外版:代码与美食的完美交融
在数字化时代,外卖系统海外版正引领着全球美食点餐的新潮流。不仅为用户提供了便捷的用餐服务,更通过技术创新为美食与代码之间搭建了一座桥梁。本文将探讨其中的一些技术应用,并呈现与美食完美交融的全新体验。 多语言支持代码示例 def m…...

Java代码解析:初学者的编程入门指南
💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 Java作为一门强大而广泛应用的编程语言&#x…...

数据结构--图
树具有灵活性,并且存在许多不同的树的应用,但是就树本身而言有一定的局限性,树只能表示层次关系,比如父子关系。而其他的比如兄弟关系只能够间接表示。 推广--- 图 图形结构中,数据元素之间的关系是任意的。 一、图…...

AXure的情景交互
目录 导语: 1.erp多样性登录界面 2.主页跳转 3.省级联动编辑 4. 下拉加载 导语: Axure是一种流行的原型设计工具,可以用来创建网站和应用程序的交互原型。通过Axure,设计师可以创建情景交互,以展示用户与系统的交…...

数据库操作习题12.12
考虑如下的人员数据,其中加下划线的是主码,数据库模式由四个关系组成: employee (empname, street, city) works (empname, compname, salary) company(id, compname, city) managers (empname, mgrname) 其中 关系 employee 给出人员的基本信息,包括人员…...

Redis之INCR命令,通常用于统计网站访问量,文章访问量,分布式锁
前言 Redis的INCR命令用于将键的值增加1。如果键不存在,则会先将键的值设置为0,然后再执行INCR操作。INCR命令的作用是对计数器进行自增操作,可以用于实现多种场景,比如统计网站访问量、文章访问量、分布式锁等。 一、Redis键之…...

window运行celery报错
报错信息 Traceback (most recent call last): File "c:\program files\python36\lib\site-packages\billiard\pool.py", line 359, in workloop result (True, prepare_result(fun(*args, **kwargs))) File "c:\program files\python36\lib\site-packages\ce…...

玩转Docker(五):网络
文章目录 〇、关于linux系统网络一、none网络二、host网络三、bridge网络一个问题:为什么在主机上仍可以通过localhost:port访问到容器中的服务? 四、user-defined网络 Docker安装时会自动在host上创建三个网络,我们可用docker network ls命令…...

选择合适教育管理软件:必须考虑的10个关键问题
随着教育行业的迅速数字化,学校要能够提供最新的管理和教育方法。大家逐渐意识到技术让运营变得更容易、更有效率。 不过首先我们需要找到一个能满足需求的应用程序。面对众多的选择,你该如何选择一个合适的平台呢?当然,没有人想…...

前端不同架构的分层设计
1. 架构设计分层: (1). 系统架构: ①. 应用场景:a. 应用在整个系统内,如与后台服务如何通信,与第三方系统如何集成.②. 前提条件:a. 了解前端系统与其它系统间的关系,包括业务关系和协作机制.b. 了解后端系统,需要规定与后台数据传递的机制,包括:(1). api设计规范(2). 访问授…...

android系统镜像文件
boot.img:这是包含内核和设备树(Device Tree)的镜像文件。它被引导加载程序(bootloader)加载以启动系统,并负责将控制权转交给内核。 dtbo.img:这是设备树增量编译(Device Tree Ove…...

相位的重要性
在过去的几年中,相干信号和图像处理尖端技术的开发和应用有了显著的增长。相干处理的特点是使用一个称为相位的单一量[1]。相比之下,非相干处理只利用信号幅度或强度。需要进行相干处理的例子包括合成孔径雷达(SAR)、合成孔径声纳…...

(三十三)补充Python经典面试题(吸收高级编程特性)
第一题: def func(a, b[]): pass一、上题讲解: 这个函数定义有一个默认参数b,它的默认值是一个空列表[]。这道面试题涉及到Python中函数参数默认值的一些重要概念和陷阱。 首先,当你调用这个函数时,如果不传递参数b…...

SQL进阶理论篇(四):索引的结构原理(B树与B+树)
文章目录 简介如何评价索引的数据结构设计好坏二叉树的局限性什么是B树什么是B树总结参考文献 简介 我们在上一节中说过,索引其实是一种数据结构,那它到底是一种什么样的数据结构呢?本节将简单介绍一下几个问题: 什么样的数据结…...

springMVC-模型数据的处理
一、数据放入到request域当中 1、把获取的数据放入request域中, 方便在跳转页面去显示 <a>添加主人信息</a> <form action"vote/vote04" method"post" >主人id:<input type"text" name"id&q…...

计算机组成原理-微指令的设计与微程序控制单元的设计
文章目录 微指令的设计微指令的格式微指令的编码方式水平型微指令的操作控制部分的编码方式直接编码字段直接编码例题字段间接编码方式 微指令的地址形成方式例题小结 微程序控制单元的设计微程序设计分类硬布线与微程序的比较 微指令的设计 微指令的格式 水平型微指令的操作…...

PyTorch机器学习与深度学习
近年来,随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术,在许多行业都取得了颠覆性的成果。另外,近年来,Pytorch深度学习框架受…...

羊奶vs牛奶,羊大师告诉你谁是更营养的选择?
羊奶vs牛奶,羊大师告诉你谁是更营养的选择? 羊奶和牛奶是两种常见的乳制品,它们不仅在口味上有所差异,而且在营养成分方面也存在一些差异。本文将对羊奶和牛奶的营养成分进行全面对比,旨在帮助读者更好地了解这两种乳…...

机器学习之线性回归(Linear Regression)
概念 线性回归(Linear Regression)是机器学习中的一种基本的监督学习算法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它假设输入变量与输出变量之间存在线性关系,并试图找到最佳拟合线来描述这种关系。 在简单线性回归中,只涉及两个变量:一个是自变量…...

ChatGPT与ArcGIS PRO 如何结合,打造一个全新的工作流程
在地学领域,ArcGIS几乎成为了每位科研工作者作图、数据分析的必备工具,而ArcGIS Pro3除了良好地继承了ArcMap强大的数据管理、制图、空间分析等能力,还具有二三维融合、大数据、矢量切片制作及发布、任务工作流、时空立方体等特色功能&#x…...

【深度学习】对比学习的损失函数
前言 对比学习损失(Contrastive Learning Loss)是一种用于自监督学习的损失函数。它侧重于学习一个特征空间,其中相似的样本被拉近,而不相似的样本被推远。在二分类任务中,对比学习损失可以用来学习区分正负样本的特征…...

哈夫曼解码
【问题描述】 给定一组字符的Huffman编码表(从标准输入读取),给定一个用该编码表进行编码的Huffman编码文件(存在当前目录下的in.txt中),编写程序对Huffman编码文件进行解码。 例如给定的一组字符的Huffm…...

Excel小技能:excel如何将数字20231211转化成指定日期格式2023/12/11
给了一串数字20231211,想要转成指定格式的日期格式,发现设置单元格格式为指定日期格式不生效,反而变成很长很长的一串#这个,如图所示: 其实,正确的做法如下: 1)打开数据功能界面&am…...

Selenium自动化测试框架(超详细总结分享)
设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架,能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开ÿ…...

STM32 DAC+串口
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、DAC是什么?二、STM32 DAC1.什么型号有DAC2. 简介3. 主要特点4. DAC框图5. DAC 电压范围和引脚 三、程序步骤1. 开启DAC时钟2. 配置引脚 PA4 PA5…...

SolidWorks二次开发 C#-读取基于Excel的BOM表信息
SolidWorks二次开发 C#-读取基于Excel的BOM表信息 问题点来源解决方案及思路相关引用链接 问题点来源 这是一位粉丝问的一个问题,他说到: 老师,请问Solidworks二次开发工程图中"基于Excel的材料明细表"怎么读取里面的数据? Ps:这…...

maui中实现加载更多 RefreshView跟ListView(2)
一个类似商品例表的下拉效果: 代码 新增个类为商品商体类 public class ProductItem{public string ImageSource { get; set; }public string ProductName { get; set; }public string Price { get; set; }}界面代码: <?xml version"1.0&quo…...

win10环境下git安装和基础操作
简述 关于git的作用就不多赘述了,配合GitHub,达到方便人们日常项目维护和管理,每一次项目增删改查都可以看的清清楚楚,方便团队协作和个人项目日常维护。 下载git 首先我们自然是要到官网下载git,下载地址为https:/…...