对容器技术的理解
Posted _雪辉_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对容器技术的理解相关的知识,希望对你有一定的参考价值。
文章目录
容器的本质是一个特殊的进程,核心功能就是通过约束和修改进程的动态表现,从而为其创造出一个’边界’。 就容器本质而言,它并没有在宿主机上启动一个容器进程,它启动的还是用户原来要启动的应用程序,只不过这个应用程序上加了视图隔离和资源限制,真正对隔离环境负责的是宿主机操作系统本身。虚拟机也能实现视图隔离和资源限制,但与容器相比,虚拟机会带来更多的性能损耗:
- 虚拟机本身的进程需要占用一部分资源
- 与底层硬件交互的时候(网络、磁盘I/O)都需要经过虚拟化软件拦截,会有损耗
- 相比容器有更好的隔离性和安全性
容器使用技术:
- 视图隔离:Namespace ,隔离得不彻底
- 资源限制:cgropus,限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等
- 切换进程的根目录(Change Root):容器镜像生效,以实现环境一致性。所谓容器镜像,本质就是容器的根文件系统(rootfs)
- Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。
- Namespace 技术实际上修改了应用进程看待整个计算机“视图”,即它的“视线”被操作系统做了限制,只能“看到”某些指定的内容。
- rootfs 只是一个操作系统所包含的文件、配置和目录,并不包括操作系统内核。
- 使用Volume来实现将宿主机的文件挂载到容器中
以上是关于对容器技术的理解的主要内容,如果未能解决你的问题,请参考以下文章