关于docker

2022/05/19 docker linux 共 590 字,约 2 分钟
Mikatsuki

关于docker

在容器技术,云服务已经发展趋于成熟的今天,docker这个容器技术的基石对于大家来说应该是耳熟能详了。对于笔者亲身经历的云原生技术的发展来说,docker算是后起之秀,却也已王者之姿坐稳了云计算的交椅。对于云计算,即虚拟化技术来说,由早期的vmware、lvm等虚拟机的实现,也有后来的openstack、ceph等各种计算资源的虚拟化技术,来实现资源的价值榨干,而docker能独占一头,是由于其轻便性以及完全的资源隔离性所决定的。

这里强调一下docker的核心,即进程管理,虽然docker从业务的角度来讲有资源隔离,资源限制,进程独立,环境独立等特性,但究其根本其实是一个进程管理技术,每一个容器其实根本上来说是一个进程,而其文件系统、操作系统、资源限制等特性是由以下三部分实现

  • namespace隔离资源,包括最重要的PID namespace,还有mount、ipc、network等ns
  • cgroups,实现cpu、memory等资源限制
  • 联合文件系统,实现docker镜像的机制

Namespace

namespace技术是linux操作系统提供,用来隔离资源所用

Cgroups

Linux Control Group技术,是用来限制进程组能够使用的资源上限,包含cpu、内存、磁盘、网络带宽等

联合文件系统

UnionFS,所谓的镜像分层,也是基于联合文件系统的技术之上

文档信息

Search

    Table of Contents