什么是 cgroupfs 以及它如何与 Docker 一起使用?

什么是 cgroupfs 以及它如何与 Docker 一起使用?

在 Docker 文档中,讨论了本机 execdriver 的选项(https://docs.docker.com/engine/reference/commandline/daemon/)。文档说

native.cgroupdriver 选项指定容器的 cgroup 的管理。您可以指定 cgroupfs 或 systemd。如果指定 systemd 但它不可用,系统将使用 cgroupfs。默认情况下,如果未指定选项,execdriver 首先尝试 systemd,然后回退到 cgroupfs。此示例将 execdriver 设置为 cgroupfs:

我的问题是,在这种情况下,cgroupfs它是什么以及相比如何?systemd谷歌搜索有关cgroupfs导致的信息鸣叫:

--exec-opt native.cgroupdriver=cgroupfs FTW。说真的@docker,放弃对 systemd 管理的 cgroup 的支持,这是一场灾难

但我希望有人能够提供有关其实际用途的更多详细信息,而不仅仅是说使用与默认值不同的设置。

答案1

正如我从以下来源的评论中看到的:vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux.go

// Cgroupfs is an options func to configure a LinuxFactory to return
// containers that use the native cgroups filesystem implementation to
// create and manage cgroups.

cgroupfs似乎是自己的 docker ( libcontainer) 实现,它配置容器cgroups直接写入文件cgroups-file-system(例如安装在/sys/fs/cgroup/)。

相关内容