云安全—docker原理

news/2024/5/5 10:59:49/文章来源:https://blog.csdn.net/qq_36869808/article/details/133994659

0x00 前言

因为要学习docker相关的检测技术,所以需要对docker的原理进行基本的原因,不求彻底弄懂,但求懂点皮毛,如有不妥之处,还请斧正。

0x01 docker概述

docker起源

docker公司是在旧金山,由法裔美籍开发者和企业家Solumon Hykes创立。

docker公司期初是一家PaaS的提供商。之后做了一款工具,最后命名为docker。

docker 来源于英国口语,意为码头工人,即词从船上装卸货物的人。

docker的大多数内容都是go语言开发的。

0x02 Docker 底层原理

docker的底层原理是利用了linux的Cgroups和Namespace技术。

1.Cgroups

Cgroups主要的作用是用作资源的分配和限制,英文是Control groups。

Cgroup主要控制的资源包括,CPU,内存,网络和磁盘。

也就是说容器可以通过cgroups来生成一个新的主机。

2.Namespace

命名空间,实际上这个功能的作用就是进行隔离,资源划分,让划分的内容成为独立的一个部分。

主要分割的内容包括进程ID、主机名、用户名、用户ID,文件名,网络和通信资源的隔离。

0x03 Docker引擎架构

先来看图,图是深入浅出docker的作者提供的。

在这里插入图片描述

从高到低看

1.Docker Deamon

字面意思就是docker的守护线程的意思。docker Client和docker Deamon进行通信,完成用户的各种操作请求。这里有一个潜在的问题就是,既然有Docker Client端,那么就有可能Client端和Docker Deamon不在同一个主机的问题,那么这里的Docker Deamon接口配置不当,就会存在一系列的安全问题。甚至是同一台服务器上如果接口存在问题也会面临相同的风险。

1.1 Libcontainer

新版的docker通过Libcontainer功能去进行创建容器等相关操作

1.2 runc

runc是对Libcontainer进行的一个工具封装。

在这里插入图片描述

1.3 shim

shim 实际上就是一个代理程序,用来管理Docker容器。

0x04 Docker镜像层

镜像层主要分为:

  • 基础镜像层,系统
  • 应用程序依赖
  • 应用程序代码层
  • 只读层
  • 共享层
  • 镜像的唯一识别

补充知识

docker

Docker是一个开源的应用程序容器引擎,可以在linux、windows和macOS上运行。它可以将应用程序和它们的依赖项打包到一个可移植的容器中,从而实现更轻松快捷的应用程序开发、交付、部署和运行。

Docker 的主要组件包括 Docker引擎、Docker Hub 和 Docker Compose。

Docker引擎是一个客户端-服务器应用程序,可以通过 REST API 或命令行与它进行交互。它包括 Docker daemon、Docker CLI、Docker REST API 和 Docker SDK。

Docker Hub 是一个公共的镜像仓库,让用户可以在其中存储和共享 Docker 容器镜像。

Docker Compose 是一个工具,可将多个容器组合成一个应用程序,从而更轻松地管理多个容器部署。

Docker的主要特点包括:

  1. 轻量级容器:Docker 容器使用宿主机的内核,因此比虚拟机更轻量级。

  2. 简化配置:Docker 容器可以使用 Dockerfile 来描述应用程序的环境和依赖关系,从而使配置更加简单。

  3. 可移植性:Docker 容器可以在任何支持 Docker 引擎的环境中运行,从而实现更高的可移植性。

  4. 快速部署:Docker 容器可以快速地打包、部署和启动,从而大大缩短部署时间。

  5. 管理容器:Docker 容器可以通过 Docker 命令行或 Docker SDK 进行管理,从而更方便地管理容器。

docker公司介绍

Docker 是一个开源的容器化平台,可以简化应用程序的创建、部署和运行。Docker 公司是 Docker 技术的开发者和支持者,成立于 2013 年,并于 2019 年被 Mirantis 公司收购。

Docker 公司提供了 Docker Engine、Docker Swarm、Docker Hub 等一系列工具和服务,帮助用户构建和管理容器化应用。其中,Docker Engine 是 Docker 公司最核心的产品,它是一个轻量级的容器引擎,可以在任何基础设施上运行。

Docker Swarm 是 Docker 公司提供的容器编排工具,可以让用户轻松构建和管理容器集群。Docker Hub 是 Docker 公司的官方镜像仓库,用户可以从中获取官方和社区维护的容器镜像。

除了开源产品和服务,Docker 公司还提供了商业版本的 Docker Enterprise,它提供了更多的功能和支持服务,适合于企业级应用的部署和管理。

k8s

K8s is short for Kubernetes, an open-source container orchestration platform developed by Google. It automates the deployment, scaling, and management of containerized applications. K8s provides a framework for deploying and managing containerized applications across a cluster of nodes and allows for flexible configuration of compute, storage, and network resources. It is designed to be highly scalable and resilient, enabling organizations to easily manage large-scale container deployments.

k8s的优势

Kubernetes的主要优势包括:

  1. 高可用性:Kubernetes是设计为高可用性的平台,它采用了容错,自动修复和重新调度的机制,确保应用程序在节点故障或系统崩溃时不会中断。

  2. 可扩展性:Kubernetes可以轻松地扩展应用程序,根据需要进行水平扩展或垂直扩展,并提供自动负载平衡。

  3. 自动化:Kubernetes自动管理容器的部署,伸缩,升级和维护,使开发人员和DevOps人员可以专注于应用程序的构建和测试,而不必担心基础设施的管理。

  4. 灵活性:Kubernetes支持多种容器运行时(如Docker,CRI-O,Containerd等),可以运行在任何云环境或自建的物理机群集上,并且可以与多种服务和工具(如服务网格,CI /CD工具,监控和日志记录工具等)集成。

  5. 安全性:Kubernetes提供了内置的安全机制,如身份验证,授权和加密,以确保应用程序数据的机密性和完整性。它还支持网络隔离和容器映像签名验证等高级安全特性。

  6. 社区支持:Kubernetes有庞大的社区支持,它积极开发新特性和修复bug,并提供详细的文档和培训资源,以帮助开发人员和DevOps人员快速掌握技能。

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

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

相关文章

如何判断要不要用振动技术来进行设备预测性维护

在现代工业设备运行过程中,及时发现设备故障并进行维修对于确保生产线的正常运行至关重要。振动分析技术作为一种先进的设备监测和预测性维护方法,通过实时监测和分析设备的振动信号,可以提前发现潜在故障,降低停机时间和维护成本…

Android组件化实现,理解吸收

什么是组件化? 一个大型APP版本一定会不断的迭代,APP里的功能也会随之增加,项目的业务也会变的越来越复杂,这样导致项目代码也变的越来越多,开发效率也会随之下降。并且单一工程下代码耦合严重,每修改一处…

朋友圈营销攻略:定时发送、互动与延迟评论

在社交媒体时代,朋友圈成为了人们交流和展示自己的重要平台。越来越多的人利用朋友圈进行营销,吸引更多的关注和客户。那么,如何在朋友圈进行有效的营销呢?小编给大家介绍一款微信管理系统,他具有非常强大的朋友圈功能…

不会用PS抠图?教你懒人抠图法,必须学会!

相信很多小伙伴都有遇到这样的窘境——好不容易找到得素材图片,中间的图案很好看,可是特别想去掉后面的背景,应该如何抠图呢? 能够将图片中的物品或人物抠出来是一种很有用的技巧,可以在很多场景下应用,比…

AUTOSAR 包 MC-ISAR 安装指南

安装程序和Tresos配置概念适用于所有AURIX产品。 一、安装包命名规则 二、安装包定义 三、名词缩写 四、安装过程 以 BASE package 安装过程为例。 1、运行MC-ISAR_AS<xxx>_AURIX_TC<con>_<Step>_PB_BASE_V<nnn>.exe。 对于TC29x版本&#xff1a;运…

数字化转型“黑话”知多少?一文让你不仅听得懂、还会落地执行

何为OEE&#xff1f;如何提升OEE&#xff1f; 从上图可知&#xff0c;客户是机加工行业的&#xff0c;而机加工行业属于重资产行业&#xff0c;主要以设备生产为主&#xff0c;管好设备、提升设备的综合效率&#xff08;OEE&#xff09;。效率高了&#xff0c;毛利率自然也会增…

程序设计(2023年10月)

函数传参有三种方式&#xff1a;值传递&#xff0c;地址传递&#xff0c;引用传递 排序算法&#xff1a;见下文八大排序 数据结构—八大排序_数据结构排序-CSDN博客

HNSW-分层可导航小世界 算法学习

一、knn的缺陷 1. K-NN方法的工作机制 K-Nearest Neighbors (K-NN) 是一种基于实例的分类方法。它通过逐一比较新样本与已有样本的相似度&#xff0c;挑选出与新样本最接近的k个已有样本&#xff0c;然后根据这些样本的类别&#xff0c;通过投票或加权的方式来决定新样本的类…

塔望3W消费战略全案丨轻食植物基,突围侧翼战

植鲜生 客户&#xff1a;民强&#xff08;昆山&#xff09;食品科技有限公司 品牌&#xff1a;植鲜生 时间&#xff1a;2021年起 项目部分内容保密期 突破传统植物基禁锢 破局轻食新赛道 民强&#xff08;昆山&#xff09;食品科技有限公司是一家集研发、生产、销售为一体…

VLAN互通

文章目录 VLAN互通2种方法单臂路由实现VLAN互通TOP图配置-LSW配置-Router1测试&#xff1a;PC1PC2 VLANIF(更受欢迎)TOP图LSW2配置测试PC1 VLAN互通2种方法 单臂路由实现VLAN互通 TOP图 名称IPGatewayPC1192.168.1.1/24192.168.1.254PC2192.168.2.1/24192.168.2.254 名称VLA…

软设上午题错题知识点8

软设上午题错题知识点8 1、IPv4用32位二进制表示&#xff0c;能够表示的地址空间是232&#xff0c;IPv6用128位二进制表示&#xff0c;能够表示的地址空间是2128&#xff0c;本题选择2128 /232296 。 2、在应用散列函数构造哈希表&#xff08;或散列表&#xff09;时&#xf…

AI智慧安防智能监控平台EasyCVR隔天设备录像播放失败是什么原因?该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTMP、RTSP、HTTP-FLV、…

Ubuntu 下 VSCode Tab 间距非常小解决方案

Ubuntu 的 Tag 键很小&#xff0c;不利于阅读代码&#xff0c;检查 Tab Size 配的也没问题&#xff0c;也是4 解决方案为&#xff1a; 进入 设置-> 字体&#xff0c;把 红框中的 ‘Droid Sans Mono’, 删了 修改后如下&#xff1a; 再次回到代码界面&#xff0c;可以…

品牌公关稿件怎么写?纯干货

品牌公关稿件成为了各大企业传播价值观、提升品牌形象的重要手段。然而&#xff0c;如何撰写一篇高质量的、吸引人的品牌公关稿件却让许多人头疼不已。本文伯乐网络传媒将从选题、结构、语言、传播等方面&#xff0c;为您详细解析品牌公关稿件的写作技巧&#xff0c;帮助您轻松…

软考-流量分析

扫描技术是网络攻防的一种重要手段&#xff0c;在攻和防当中都有其重要意义。nmap是一个开放源码的网络扫描工具&#xff0c;可以查看网络系统中有哪些主机在运行以及哪些服务是开放的。 nmap工具的命令选项:sS 用于实现SYN扫描&#xff0c;该扫描类型是通过观察开放端口和关闭…

打包Qt程序,自动添加依赖的库和文件(详细步骤)

1、打开对应版本的命令面板&#xff0c;选择即可&#xff1a; 一般安装qt的时候&#xff0c;都会自带的 2、进入到编译成功的程序所在的目录&#xff1a; 输入&#xff1a;windeployqt XXX.exe&#xff08;实际的程序名字&#xff09; 这样这个程序所依赖的库都会自动添加进来…

【计算机网络】UDP的报文结构和注意事项

UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种无连接的协议&#xff0c;它在传输层中提供了简单、不可靠的数据传输服务。与TCP&#xff08;Transmission Control Protocol,传输控制协议&#xff09;不同&#xff0c;UDP不需要建立连接&…

未能为 SSL/TLS 安全通道建立信任关系

在 Windows早期版本&#xff08;Windows server 2008&#xff09;上运行web请求相关代码&#xff0c;提示错误&#xff1a;未能为 SSL/TLS 安全通道建立信任关系。 打开IE直接访问相关网址&#xff0c;按照提示信任网站&#xff0c;安装证书&#xff1a; 选择&#xff1a;将所有…

vue2中,下拉框多选和全选的实现

vue2中&#xff0c;下拉框多选和全选的实现 代码布局在methods: 中添加功能函数较为完整的一个整体代码&#xff1a; 如图所示点击全选即可完成下拉框中全部子项的全部的选中&#xff0c;同时取消全选即可全部取消选择。 代码布局 <div class"chos-box2"><…

MySQL恢复不小心误删的数据记录(binlog)-生产实操

同事操作删除生产数据时&#xff0c;未及时备份导致误删除部份数据。现通过mysql的binlog日志回滚数据。 1.由于我们第一时间找到相应的操作时间的大概在12点~13点之间操作删除了product和product_item表的部份数据。因此我们只要找到这期间的binlog文件就行了&#xff0c; 脚…