docker架构及工作流程
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,一、概念docker是开源容器引擎,基于cgroup,namespace,unionFS等技术实现,对应用进行封装的虚拟化技术什么是cgroup?对系统资源限制,创建容器的过程其实就是在创建进程,对资
千家信息网最后更新 2025年01月23日docker架构及工作流程
一、概念
docker是开源容器引擎,基于cgroup,namespace,unionFS等技术实现,对应用进行封装的虚拟化技术
什么是cgroup?对系统资源限制,创建容器的过程其实就是在创建进程,对资源的分配和维护使用cgroup来管理,包括cpu,内存,io等?什么是namespace?创建容器时,对容器来说就是一个全新的系统,容器内的文件系统要和宿主机文件系统隔离,网络空间隔离,用户权限隔离,这些隔离操作都是有namespace 来管理完成的什么是unionFS?联合文件系统,简单理解就是多个目录结构合并成一个,而各个目录结构本身物理位置并没有变化。
二、架构
1.C/S架构
组件:docker cli: docker客户端,用来管理docker,向docker发送指令的工具docker engine: 拉取推送镜像,对容器操作相关的api的最上层封装,直接面向clientimage repository: 注册中信,存储镜像的地方Containerd: 是一个守护进程,负责管理shim,向docker engine提供接口,使用UnixSocket通信,协议是grpcshim: 负责管理单个容器,启动一个容器,就会启动一个shim进程, containerd管理所有容器runC: 运行一个容器。是基于OCI标准的一个容器技术实现,是一个可以直接创建和运行容器的工具。runc直接与容器所依赖的cgroups/kernel等进行交互,负责容器所需环境
2.工作流程
docker client发出创建容器指令,docker engine接到指令后去镜像仓库拿到镜像后,通过grpc调用通知docker-containerd启动容器,docker-containerd收到通知后启动shim进程,shim进程启动后,运行runC子进程,runcC会和cgroup,kernel交互,启动容器,然后runC销毁,shim接管容器并监控容器, 整个容器创建过程完成
三、镜像和容器的关系
镜像可以理解为一系列封装好的目录,容器理解为将这些封装好的目录合并挂载,镜像是静态资源,容器是可读写的,
四、容器应用场景
1.环境一致性2.CI/CD3.微服务4.弹性伸缩5.灰度发布
五、容器与虚拟机的额区别
- VM 技术层⾯面是基于硬件的 hypervisor 层实现的, 而 container 是基于操作系统上软件 docker engine 实现的
- VM 要进行应⽤用隔离, 必须先创建⼀一个新的
臃肿
的 os, 与其说是对应用隔离, 不如说是系统隔离 - VM 资源消耗⼤大, 启动慢, 系统隔离, 且由于基于硬件, 所以需要硬件支持虚拟化; Container 资 源消耗小, 启动快, 进程隔离, 不用考虑CPU是否支持虚拟化
容器
隔离
系统
进程
镜像
管理
技术
目录
资源
封装
就是
指令
文件
硬件
应用
运行
架构
工具
环境
结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哪儿有软件开发培训
网络安全专家03
单服务器最多磁盘
支持ip伪装的大流量服务器价格
青岛erp软件开发服务
海宁卡卡网络技术有限公司
巧用云服务器
支付宝网络技术有限公司薪酬
文件服务器备份工具
升序英文数据库
敏捷软件开发过程
策略服务器课件
力控数据库与实时数据库区别
完美竞技平台服务器进不去
因特尔服务器处理器命名规则
db2数据库插入sql代码
计算机网络技术教程考试试题
服务器服务端
x86服务器 系统
arm软件开发的流程
银行卡身份校验服务器连接失败
服务器日志提取
自媒体软件开发多少钱
苹果帐号登录服务器出现问题
安全气囊ecu软件开发
上海众刻网络技术有限公司
黄浦区常规网络技术解决方案
光纤网络技术的未来
cdn网络安全加固培训
北京尚鹏科技网络技术