docker架构及工作流程
发表于:2024-12-05 作者:千家信息网编辑
千家信息网最后更新 2024年12月05日,一、概念docker是开源容器引擎,基于cgroup,namespace,unionFS等技术实现,对应用进行封装的虚拟化技术什么是cgroup?对系统资源限制,创建容器的过程其实就是在创建进程,对资
千家信息网最后更新 2024年12月05日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安全错误
数据库的锁怎样保障安全
美国独立ip服务器
儿童网络安全教育电影
郑州中专软件开发学校
官兵网络安全自查自纠
豆丁网八字数据库
南京市易安联网络技术有限公司
有关网络安全重要性的书籍
苏州软件开发靠谱吗
tp服务器无响应
本地服务器搭建win
网络技术并行含义
传输设备割接网络安全心得
网络安全风险项判定
做java软件开发
数据库附加和备份的区别
游戏服务器在哪个位置
华服互联网科技 面试
c#怎么将数据库打包
东莞速维网络技术有限公司
分布式服务器性能优化
小程序分类页面数据库的表
dsp软件开发 定制
使命召唤战区总是连接不上服务器
下载站数据库设计
网络安全避风港规则
网络安全blog
自学网络安全从哪里学习
带宽网络技术参数招标文件
文登软件开发哪家强
数据库的恢复技术有哪些