Docker学习总结(66)—— Docker 的三大基石:NamespaceCgroup 和 rootfs

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习总结(66)—— Docker 的三大基石:NamespaceCgroup 和 rootfs相关的知识,希望对你有一定的参考价值。

前言:

云计算领域最火的莫过于“容器”,而提到容器,就不得不提 Docker,可以说 Docker 已经是容器的代名词。容器其实是一种沙盒技术,顾名思义,沙盒就是能够像集装箱一样,把应用“装”起来的技术。这样,应用和应用之间就有了边界,不互相干扰。Docker 运行的三大基石:Namespace、Cgroup和 rootfs。了解这些内容就能够清晰地明白 docker 和虚拟机的区别了,也就是说运行在 Docker 里的进程仍然需要宿主机的支持,比如内核版本等。而我们通常会把容器技术和虚拟化技术做对比,应该会常常看到这样一张图。

左边的图,画出了虚拟机的工作原理。其中,Hypervisor 是虚拟机的重要组成部分,通过硬件虚拟化功能,模拟出了运行一个操作系统需要的各种硬件,比如 CPU、内存、I/O 设备等,然后,它在这些虚拟的硬件上安装了一个新的操作系统,即 Guest OS。而容器是进程级隔离,依靠 Namespace 机制实现进程间隔离,Cgroups 实现进程资源限制。

一、Linux Namespace

Linux Namespace 是 Kernel 的一个功能,可以隔离一系列的系统资源,比如 PID(Process ID)、User ID、Network 等。命名空间建立系统不同的视图,从用户的角度来看,

以上是关于Docker学习总结(66)—— Docker 的三大基石:NamespaceCgroup 和 rootfs的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习总结(68)—— Docker 数据卷相关知识总结

Weave 如何与外网通信?- 每天5分钟玩转 Docker 容器技术(66)

Docker学习总结(69)—— 不用 Docker 如何构建容器

Docker学习总结

Docker 学习总结(74)—— Docker Swarm 全面总结

Docker学习总结