Docker的运行机制和底层技术简介

(笔记总结自《微服务架构基础》书籍)

一、Docker的引擎

Docker Engine(Docker引擎)是Docker的核心部分,使用的是客户端-服务器(C/S)架构模式:

ab4a9fe5748744798a2aea14c983d78d.jpg

 ①Docker Cli:Docker命令行接口,可以在命令行中使用Docker相关指令与Docker守护进程进行交互,从而管理诸如image(镜像)、container(容器)、network(网关)和data volumes(数据卷)等实体。

②Rest API:表示应用程序API接口,开发者通过该APU可以与Docker的守护进程进行交互,从而指示后台进行相关操作。

(守护进程也叫精灵进程,是一种特殊的进程,一般在后台运行,不与任何终端相关联,并且周期性地执行某种任务或等待处理某些发生的事件,比如处理一些系统级的任务)

③docker daemon:表示Docker的服务端组件,它是Docker架构中运行在后台的一个守护进程,可以接收并处理来自命令行接口及API接口的指令,然后进行相应的后台操作。

二、Docker的架构

7b4d16455cc44038bea97497f94f6b99.jpg

①Client(客户端) :即docker CLI,通过这个客户端使用Docker的相关指令与Docker守护进程进行交互,从而进行Docker镜像的创建、拉取和运行等操作。

②DOCKER_HOST(Docker主机):即Docker内部引擎运行的主机,主要指Docker daemon。可以通过Docker守护进程与客户端和Registry进行交互,从而管理镜像和容器等。

③Registry(注册中心):Docker镜像仓库。常用对象有Images(镜像)和Containers(容器)等。

三、Docker底层技术

①Namespaces(名称空间):Docker使用名称空间来为容器提供隔离的工作空间。

②Control groups(控制组):对程序进行资源限定,允许Docker引擎在容器间进行硬件资源共享以及随时进行限制和约束。

③Unoin file systems(联合文件系统):UnionFS是一种分层、轻量级并且高性能的文件系统,支持将文件系统的修改作为一次提交来一层层地叠加,同时可以将不同的目录挂载到同一个虚拟文件系统下。不同Docker容器可以共享一些基础的文件系统层,与自己独有的改动层一起使用,从而提高存储效率。

④Container format(容器格式):Docker引擎将名称空间、控制组和联合文件系统组合成一个叫做容器格式的整体。当前默认的容器格式是libcontainer。

 

 

 

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

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

相关文章

(二十三)大数据实战——Flume数据采集之采集数据聚合案例实战

前言 本节内容我们主要介绍一下Flume数据采集过程中,如何把多个数据采集点的数据聚合到一个地方供分析使用。我们使用hadoop101服务器采集nc数据,hadoop102采集文件数据,将hadoop101和hadoop102服务器采集的数据聚合到hadoop103服务器输出到…

Acwing算法心得——街灯(差分)

大家好,我是晴天学长,差分广泛用于一段范围的加减运算,可以优化时间复杂度,需要的小伙伴请自取哦!如果觉得写的不错的话,可以点个关注哦,后续会继续更新的。💪💪&#x1…

湖南省副省长秦国文一行调研考察亚信科技

9月5日,湖南省人民政府党组成员、副省长秦国文一行到亚信科技调研考察,亚信科技高级副总裁陈武主持接待。 图:双方合影 在亚信科技创新展示中心,秦国文了解了亚信科技在5G、算力网络、人工智能、大数据等前沿领域的创新探索&…

CSS 设置渐变背景 CSS 设置渐变边框

一、css渐变背景添加透明度opacity css渐变背景经常会在项目开发中遇到&#xff0c;此时UI如果给出的是单一的渐变背景&#xff08;没有背景透明度&#xff09;&#xff0c;这个我们会很快的写出代码&#xff0c;如下: <div class"btn">这是一个按钮</div&…

陇剑杯2023线上wp

1. hard_web hard_web_1 题目内容&#xff1a;服务器开放了哪些端口&#xff0c;请按照端口大小顺序提交答案&#xff0c;并以英文逗号隔开(如服务器开放了 80 81 82 83 端口&#xff0c;则答案为 80,81,82,83) 半开放扫描 端口开放状态 攻击机发送 SYN 请求连接此端口靶机…

【前端学习记录】neffos插件与控制台交互

背景 最近项目上有个需求需要用到websocket&#xff0c;于是就学了一下关于websocket的使用方法。不过由于后台使用的框架限制&#xff0c;需要前后端一起使用neffos插件&#xff0c;中间踩了很多的坑&#xff0c;这里简单记录一下。 websocket WebSocket 是一种在客户端和服…

国产信创服务器如何进行安全可靠的文件传输?

信创&#xff0c;即信息技术应用创新&#xff0c;2018年以来&#xff0c;受“华为、中兴事件”影响&#xff0c;国家将信创产业纳入国家战略&#xff0c;并提出了“28n”发展体系。从产业链角度&#xff0c;信创产业生态体系较为庞大&#xff0c;主要包括基础硬件、基础软件、应…

Unity VideoPlayer 指定位置开始播放

如果 source是 videoclip&#xff08;以下两种方式都可以&#xff09;&#xff1a; _videoPlayer.Play();Debug.Log("time: " _videoPlayer.clip.length);_videoPlayer.time 10; [SerializeField] VideoPlayer videoPlayer;public void SetClipWithTime(VideoClip…

yapi以及gitlab的容器化部署

yapi部署&#xff1a; https://blog.csdn.net/Chimengmeng/article/details/132074922 gitlab部署 使用docker-compose.yml version: 3 services: web: image: twang2218/gitlab-ce-zh:10.5 restart: always hostname: 192.168.xx.xx environm…

element-plus 表格-自定义样式实现

效果如下 代码如下 <template><h2>表格自定义样式</h2><div style"background-color: cadetblue; height: 600px;"><div class"regulaContainer"><el-table ref"tableRef" :data"tableData" border …

服务器给前端实时推送数据轻量化解决方案eventSource+Springboot

一、前端代码 body代码 <div id"result"></div>js代码 $(function(){if(typeof(EventSource) ! "undefined"){var source new EventSource("/demo/getTime");source.onmessage function(event) {console.log(event.data);$(&qu…

YOLOV7改进-最新的可变形卷积V3

DCNv3 1、先编译这个文件&#xff0c;放到models文件夹下&#xff0c;再编译 2、编译命令 3、复制到common文件最后 4、源文件用的是LN&#xff0c;由于这里用的都是LN&#xff0c;所以也改了 5、原文也是没接激活函数的&#xff0c;但是按照yolo格式来说&#xff0c;会接一…