对容器技术的理解

本文深入探讨了容器的本质,指出容器并非启动新的进程,而是通过Namespace实现视图隔离,cgroups限制资源使用,并利用rootfs创建一致的运行环境。相较于虚拟机,容器提供更少的性能损耗和更高的效率。同时,介绍了Volume如何实现宿主机与容器的数据共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录


  容器的本质是一个特殊的进程,核心功能就是通过约束和修改进程的动态表现,从而为其创造出一个’边界’。 就容器本质而言,它并没有在宿主机上启动一个容器进程,它启动的还是用户原来要启动的应用程序,只不过这个应用程序上加了视图隔离和资源限制,真正对隔离环境负责的是宿主机操作系统本身。虚拟机也能实现视图隔离和资源限制,但与容器相比,虚拟机会带来更多的性能损耗:

  • 虚拟机本身的进程需要占用一部分资源
  • 与底层硬件交互的时候(网络、磁盘I/O)都需要经过虚拟化软件拦截,会有损耗
  • 相比容器有更好的隔离性和安全性

容器使用技术:

  • 视图隔离:Namespace ,隔离得不彻底
  • 资源限制:cgropus,限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等
  • 切换进程的根目录(Change Root):容器镜像生效,以实现环境一致性。所谓容器镜像,本质就是容器的根文件系统(rootfs)
 - Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。
 - Namespace 技术实际上修改了应用进程看待整个计算机“视图”,即它的“视线”被操作系统做了限制,只能“看到”某些指定的内容。
 - rootfs 只是一个操作系统所包含的文件、配置和目录,并不包括操作系统内核。
 - 使用Volume来实现将宿主机的文件挂载到容器中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_梓杰_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值