首页 > 其他分享 >容器技术认知

容器技术认知

时间:2023-02-28 15:35:37浏览次数:37  
标签:容器 隔离 认知 技术 内核 Linux 操作系统 rootfs

  现如今,Docker容器大行其道,容器技术可以看做是沙盒,被装入沙盒的应用可以独立运行,不会互相干扰,也最方便四处搬移。

  这个沙盒主要用三种技术隔离出来。

一、Linux namespace

  Namespace是基于Linux内核的底层概念,以一种抽象的方式封装内核资源,通过将内核资源放在不同的Namespace中,来实现资源隔离的效果。Linux已提供了以下隔离机制(不同内核版本可能不同)

  • Mount:隔离文件系统挂载点
  • IPC:隔离进程通信
  • Network:隔离网络资源
  • PID:进程PID隔离
  • User:隔离用户和用户组
  • UTS:隔离主机名

  虽然Linux提供了如此多的内核资源隔离技术,但需要明确的是,容器本身只是一个应用了多种Namespace的进程而已,多个容器之间仍然共享同一个宿主机的操作系统内核。

二、Linux Cgroup

  全称是 Linux Control Group。最主要的作用就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。同时还有诸如优先级分配,资源统计和任务恢复挂起控制的功能。

  在Linux系统中以文件和目录的方式暴露在/sys/fs/cgroup 路径下。在这个目录下,有很多像cpuset、cpu、 memory的子目录,这些就是可以被Cgroups进行限制的资源种类。

三、rootfs根文件系统

  rootfs就是所谓的容器镜像,包括了一个完整的操作系统的文件、目录和配置,并不包含操作系统内核。

  正是由于rootfs的存在,容器技术所宣传的‘一致性’才得到保证。对于一个镜像而言,打包的不只是应用,还包含操作系统,那么无论在任何一台机器上解压镜像,应用运行的环境就已经重现了出来。

  Docker容器的rootfs使用AuFS将多个rootfs联合挂载成一个rootfs。

  Docker的rootfs由三部分组成。

  • 只读层:包含操作系统的一部分
  • 可读写层:存放修改rootfs后产生的增量
  • Init 层:存放 /etc/hosts、/etc/resolv.conf 等只对当前的容器有效的配置

     

     

标签:容器,隔离,认知,技术,内核,Linux,操作系统,rootfs
From: https://www.cnblogs.com/sunshine-ground-poems/p/17164445.html

相关文章

  • 学习笔记285—docker 容器基础技术:linux cgroup 简介
    docker容器基础技术:linuxcgroup简介Linuxcgroups的全称是LinuxControlGroups,它是Linux内核的特性,主要作用是限制、记录和隔离进程组(processgroups)使用的物理资......
  • 一文读懂App热更新技术方案
    早在2017年,AppStore审核团队便针对AppStore中“热更新”的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中下架该软件。由于......
  • PostgreSQL技术大讲堂 - Part 6:PG用户与角色管理
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同......
  • Java容器类List、ArrayList、Vector及map、HashTable、HashMap
    ArrayList和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引......
  • 利用C#,SqlXml技术将NorthWind中的所有记录取出并显示出来(包括员工图片)
    经常有人问这个问题,如何取出NorthWind中Employees表中的Photo字段的图片并显示出来?此表中图片显示常见的问题是:由于Northwind数据库內含的image资料最开头有78bytes的表......
  • 即时通讯技术文集(第9期):Java NIO和Netty入门系列 [共19篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第9 期。[-1-] 少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别[链接] htt......
  • 《分布式技术原理与算法解析》学习笔记Day25
    负载均衡负载均衡是分布式可靠性中非常关键的一个问题,它在一定程度上反映了分布式系统对业务处理的能力。什么是负载均衡?负载均衡可以分为两种:请求负载均衡,即将用户的......
  • 前端技术之HTML-介绍和目标
    HTML可以让我们实现静态页面效果,掌握绘制静态页面所需的各种知识点,了解前端体系方向,为后续深入打下基础。课程通俗易懂,理论结合实战,课堂感染力丰富,轻松掌握必会标签,真正做到......
  • 前端技术之HTML-介绍和目标
    HTML可以让我们实现静态页面效果,掌握绘制静态页面所需的各种知识点,了解前端体系方向,为后续深入打下基础。课程通俗易懂,理论结合实战,课堂感染力丰富,轻松掌握必会标签,真正做到......
  • 前端技术之HTML-介绍和目标
    HTML可以让我们实现静态页面效果,掌握绘制静态页面所需的各种知识点,了解前端体系方向,为后续深入打下基础。课程通俗易懂,理论结合实战,课堂感染力丰富,轻松掌握必会标签,真正做......