cgroupfsとは何ですか?また、Dockerでどのように使用されますか?


16

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のサポートをやめました、それは災害です

しかし、デフォルトとは異なる設定を使用するだけでなく、実際にこれが何をするかについて、誰かが詳細を提供できることを望んでいます。


これはすべて、コンテナにシステム(CPU)リソースを割り当てることに関係していることを理解していますか?systemdにはcgroup統合が組み込まれています。cgroupfsは、カーネルのcgroupインターフェイスのファイルシステムビューです。これがあなたが探しているものであるならば、私はそれを答えに入れます。ただし、これを既に知っている場合は、コードを掘り下げる必要があります。
オテウス

@Otheus私は質問に賞金をかけなかったので、行った人が何に興味を持っているのか分かりません--exec-opt native.cgroupdriver=cgroupfs。しかし、Dockerドキュメントにあるものよりも初心者が理解しやすい設定を説明する答えを書いた場合、あなたはいくつかの賛成を得て、それは将来Googleから質問を見つける人々にも役立つかもしれないと思います。
ガブリエル

回答:


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これは、ファイルを直接書き込む(libcontainerコンテナにマウントするなど)コンテナを設定する独自のdocker()実装のようです。cgroupscgroups-file-system/sys/fs/cgroup/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.