美文网首页
(一)初识Docker(3)——容器相关技术

(一)初识Docker(3)——容器相关技术

作者: 爱折腾的胖子 | 来源:发表于2018-09-10 01:22 被阅读0次

    Docker官网

    Docker文档地址


    (一)初识Docker(1)——简介中曾经提到过两个名词,Namespace和Cgroups。这里简单的介绍一下,说不定会有用。

    本节包括:Namespace命名空间、Cgroups(Control Groups) 控制组、Docker将两者结合使用的新能力。


    Namespace 命名空间:

        1.在编程语言中的命名空间概念。比如对代码进行封装,可以实现代码隔离。

        2.在操作系统中命名空间实现了系统资源(进程,文件系统,网络等等)的隔离。

        3.容器中单一命名空间的进程可以互相感知彼此,但是对其他命名空间的进程无法感知,以此达到独立和隔离的目的。

        4.从Docker文档中有关于命名空间的介绍中可以知道,Docker有5种命名空间:

            4.1 pid(Process ID) 进程隔离。

            4.2 net(Network) 管理网络接口。

            4.3 IPC(InterProcess Communication) 管理跨进程通信的访问。

            4.4 MNT(Mount) 管理挂载点(跟文件系统相关)。

            4.5 UTS(Unix Timesharing System) 隔离内核和版本标识。

    Cgroups(Control Groups) 控制组:

        Linux内核提供的可以限制、记录、隔离进程组所使用物理资源的机制。

    Cgroups的功能:

        1.资源限制:子系统可以为进程组申请一个内存使用的上线,当进程组使用的内存达到限额,再申请内存就会有Out of Memory(内存溢出)的消息。

        2.优先级设定:可以设定一些进程组使用更大的CPU或者磁盘IO的资源。

        3.资源计量:可以计算进程组使用的资源数量。

        4.资源控制:可以将进程组挂起,恢复。

    Docker将两者结合使用的新能力:

        1.文件系统隔离:每个容器都有自己的root文件系统。

        2.进程隔离:每个容器都运行在自己的进程环境中。

        3.网络隔离:容器之间的虚拟网络接口和IP地址都是分开的。

        4.资源的隔离和分组:Cgroups将CPU和内存等资源独立分配给每个Docker容器。

    相关文章

      网友评论

          本文标题:(一)初识Docker(3)——容器相关技术

          本文链接:https://www.haomeiwen.com/subject/wkjjgftx.html