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
に関する情報をグーグルで検索すると、 Tweet が表示されます。
--exec-opt native.cgroupdriver = cgroupfs FTW。真剣に@ docker、systemdによって管理されているcgroupのサポートを削除、それは災害です
ただし、デフォルトとは異なる設定を使用するだけではなく、実際に何が行われるかについて誰かが詳細を提供できることを望んでいます。
ソースのコメントからわかるように: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/
にマウントされます)。