Docker的那些事儿—Docker使用的核心底层技术(6)

Control groups

Control groups(Cgroups)中文称为控制组。Docker利用Cgroups实现了对资源的配额和度量。Cgroups可以限制CPU、内存、磁盘读写速率、网络带宽等系统资源。Linux使用文件系统来实现Cgroups,我们可以直接使用下面的命令查看当前的Cgroups中有哪些子系统:



以下是每个子系统的说明:

Blkio:这个子系统设置限制每个块设备的输入输出控制。例如:磁盘,光盘以及usb等等。

Cpu:这个子系统使用调度程序为cgroup任务提供cpu的访问。

Cpuacct:产生cgroup任务的cpu资源报告。

Cpuset:如果是多核的cpu,这个子系统会为cgroup任务分配单独的cpu和内存。

Devices:允许或拒绝cgroup任务对设备的访问。

Freezer:暂停和恢复cgroup任务。

Memory:设置每个cgroup的内存限制以及产生内存资源报告。

net_cls:标记每个网络包以供cgroup方便使用。

Cgroup的使用非常简单,如果想要创建一个新的cgroup,只需要在想要分配或者限制资源的子系统下面创建一个新的文件夹,然后cgroup会在这个文件夹下自创建很多内容。当然如果在Linux上安装了Docker,会发现所有子系统的目录下都有一个名为 Docker 的文件夹:





或许你可能发现存在两个文件夹:


3498d766e1axxx和7078ee1f4cb79xxx,这两个文件夹名字其实就是我们之前启动的两个容器的ID号。Cgroup是层级结构,父子继承关系,当你打开上述两个文件夹可以看到拥有类似的目录结构。

另外,每个子系统下面都有一个tasks文件,这个文件记录了所有加入这个资源组的进程号。


这些进程号恰巧是PID=2173的docker-containerd-shim进程的所有子进程,这说明和这个容器7078ee1f4cbxx相关的进程都被限制在这个以容器ID为名的子系统中。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一个开源的容器化平台,它使用了一种轻量级的虚拟化技术,可以将应用程序及其依赖项打包成一个独立的容器,提供了更高效、更可靠的应用部署和管理方式。 Docker的系统架构包含以下几个关键组件: 1. Docker守护进程(Docker daemon):Docker守护进程是Docker引擎的核心组件,负责管理镜像、容器和存储等资源。守护进程通过RESTful API与其他组件通信,并执行用户指定的命令。 2. Docker客户端(Docker client):Docker客户端是用户与Docker守护进程进行交互的接口。用户可以通过命令行工具或者Docker提供的API进行操作,例如创建、启动、停止和删除容器等。 3. Docker镜像(Docker image):Docker镜像是一个只读的模板,包含了运行应用程序所需的文件系统、环境变量和依赖项等。镜像可以由基础镜像构建而来,也可以通过Dockerfile定义构建步骤。 4. 容器(Container):容器是基于镜像创建的实例,它是运行应用程序的独立环境。Docker利用Linux内核的隔离技术,如命名空间和控制组,来实现容器与宿主机之间的资源隔离。每个容器都有自己的文件系统、网络和进程空间,可以独立运行和管理。 5. 注册中心(Registry):注册中心是存储和共享Docker镜像的服务器。Docker Hub是最常用的公共注册中心,用户可以从中获取各种官方和社区贡献的镜像。除了公共注册中心,用户还可以搭建自己的私有注册中心。 6. Docker网络(Docker networking):Docker提供了多种网络驱动程序,用于为容器提供网络连接。例如,桥接驱动程序可以创建一个本地网络,将容器连接到宿主机上的网桥设备,以实现容器之间的通信。 总之,Docker的系统架构基于容器化技术,通过守护进程、客户端、镜像、容器、注册中心和网络等组件配合工作,为用户提供了一种便捷、高效的应用部署和管理方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值