Docker学习笔记1

PaaS:

一、虚拟化分类:

        虚拟化资源提供者:

        1)硬件平台虚拟化

        2)操作系统虚拟化

        虚拟化实现方式:

        type I: 半虚拟化

        type II:硬件辅助全虚拟化

        type III:

                软件全虚拟化:

                操作系统虚拟化:

       

主机虚拟化与容器虚拟化的优缺点:

        主机虚拟化:

                应用程序运行环境强隔离;

                虚拟机操作系统与底层操作系统无关化

                虚拟机内部操作不会影响到物理机

                拥有操作系统会占用部署资源及存储

                网络传输效率低

                当应用程序需要调用硬件响应用户访问时间延时大

        容器虚拟化

                优点:可以实现应用程序的隔离

                直接使用物理机的操作系统可以快速响应用户需求

                不占用部署时间(不需要安装操作系统)

                占用少量磁盘空间

                缺点:学习成本增加、操作控制复杂、网络控制与主机虚拟化有所区别、服务治理更难。服务与服务调用关系就很麻烦。容器的编排。(微服务架构工程师

云平台技术的实现:

 分别对应的是:

IaaS 虚拟机:

        阿里云ECS

        OpenStack VM实例

PaaS容器CaaS(容器即服务):

        LXC

        Docker

        OpenShift

        Rancher

SaaS应用程序:

        互联网中的应用

容器比虚拟机更抽象。

容器所涉及的内核技术:

六大命名空间:

UTS:UNIX Time-sharing System,命名空间允许每个容器拥有独立的主机名和域名,从而可以虚拟出一个独立主机名和网络空间的环境,就跟网络上的一台独立的主机一样。每一个命令空间都拥有独立的主机名或域名。

IPC:Interprocess Communication。每个容器依旧使用Linux内核中进程交互的方法,实现进程间通信。包括信号量、消息队列和共享内存等。不同空间的进程无法交互。同一个IPC命令空间内的进程彼此可见,允许进行交互。

Mount:类似chroot,将一个进程放到一个特定的目录执行,挂载命名空间允许不同命名空间的进程看到的文件结构不同,这样每个命名空间中的进程所看到的文件目录彼此隔离。每个容器的文件系统是独立的。

NET:通过网络命名空间,可以实现网络隔离。网络命令空间为进程提供了一个完全独立的网络协议的视图,包括网络设备接口、IPv4和IPv6协议栈,IP路由表、防火墙规则、Sockets等,这样,每个容器的网络就能隔离开来。Docker采用虚拟网络设备(Virtual Network Device)的方式,将不同命名空间的网络设备连接在一起,默认情况下,容器中的虚拟网络卡将同本地主机上的docker0网桥连接在一起。

USER:每个容器可以有不同的用户和组id,也就是说可以在容器内使用特定的内部用户执行程序,而非本地系统上存在的用户。

每个容器内部都可以有root账号,但跟宿主机的root用户不在一个命名空间。

通过使用隔离的用户命名空间可以提高安全性,避免容器内进程获得额外的权限。

PID:Linux通过命名空间管理进程号,对于同一个进程(即同一个task_struct)在不同的命名空间中,看到的进程号不相同,每个进程命名空间有一套自己的进程号管理方法。进程命名空间是一个父子关系的结构,子空间的进程对于父空间是可见的,新fork出的进程在父命名空间和子命名空间将分别有一个进程号来对应。每个容器都有独立的进程树,由容器是物理机中的一个进程,所以容器中的进程是物理机的线程。

总结:

容器的命令空间有哪些?

应用程序运行环境隔离的空间,就是一个容器。每个容器都将拥有UTS、IPC、Mount、Net、User、PID。

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

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

相关文章

【②MySQL 】:测试数据准备、SQL语句规范与基本操作

前言 欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解~✨文末送书,小K赠书活动第二期 目录 前言一、准备测试数据二、SQL语句规范三、数据库的基本操作四、总结:文末赠书 一、准备测…

影响远程访问性能的潜在因素

对企业和远程办公人员而言,远程访问技术非常关键。因为通过这项技术,员工可以随时随地使用任意设备工作,可以提高生产力和灵活性。 但是,远程访问性能可能会受到多种因素的影响。这篇文章将介绍影响远程访问性能的各种潜在因素&a…

弟子规 古译今 详解

博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之…

GPT-4:AI的新突破,重塑芯片设计领域

随着人工智能(AI)的快速发展,其在各个领域的应用也日益广泛。最近,纽约大学Tandon工程学院的研究人员利用OpenAI的GPT-4模型,成功设计出了一个芯片,这标志着AI在硬件设计领域的重大突破。 GPT-4通过简单的英…

web存储(Storage)

目录 1、基本概念 2、功能监测 2.1 测试可用性 2、W3C标准 3、基本方法或属性 4、 Local Storage 4.1 描述 4.2 示例 5、sessionStorage 5.1 描述 5.2 示例 6、StorageEvent(存储事件) 6.1 构造函数 6.2 实例属性 6.3 实例方法 6.4 响应…

微信小程序中使用echart、动态加载几条折线

一、示例 echart小程序示例 gitub地址:GitHub - ecomfe/echarts-for-weixin: Apache ECharts 的微信小程序版本 在小程序中放入 效果 二、 小程序代码 json 组件的位置取决于一示例中的的echart的位置 { "navigationStyle":"custom","…

鸟类识别Python,基于TensorFlow卷积神经网络【实战项目】

一、介绍 鸟类识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,…

电脑大文件夹怎么加密?大文件夹方法介绍

当我们把电脑中的各种数据分类存放在文件夹中时,可以方便我们使用和管理。但这些文件夹也会变得十分庞大,如果想要加密它们,就需要使用更快速、安全的方法。下面我们来了解一下电脑大文件夹的加密方法。 文件夹加密超级大师 文件夹加密超级大…

threejs官方demo学习:模型加载

前言 案例太多了&#xff0c;考虑了一下&#xff0c;实际项目中有可能用的情况一般就是加载模型&#xff0c;然后对模型进行一些操作。因此打算好好看一下关于模型加载的案例&#xff0c;其他案例就不看了。 模型加载并改变材质 <script lang"ts" setup> im…

我为开放原子全球开源峰会助力

前言 2023年6月11日-13日&#xff0c;我参加了开放原子全球开源峰会&#xff0c;这是一场高水平、多元化的开源国际盛宴&#xff0c;也是我作为一名开发者和开源爱好者&#xff0c;非常期待的盛会。 参会心得 在峰会上&#xff0c;我见到了来自国内外的许多开源大咖和业界精英…

(十一)CSharp-LINQ(1)

一、LINQ 数据库可以通过 SQL 进行访问&#xff0c;但在程序中&#xff0c;数据要被保存在差异很大的类对象或结构中。由于没有通用的查询语言来从数据结构中获取数据。所以可以使用 LINQ 可以很轻松地查询对象集合。 LINQ 高级特性&#xff1a; LINQ 代表语言集成查询。LIN…

Lenovo联想笔记本电脑 小新 Air-14 2020 Intel平台IIL版(81YJ)原装Win10系统恢复原厂OEM预装专用系统

Lenovo联想笔记本电脑&#xff0c;小新 Air-14 2020 Intel平台IIL版(81YJ)出厂Windows10系统原装系统镜像&#xff0c;恢复原厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1…