In der Docker-Dokumentation werden Optionen für den systemeigenen Treiber erläutert ( https://docs.docker.com/engine/reference/commandline/daemon/ ). Die Dokumentation sagt
Die Option native.cgroupdriver gibt die Verwaltung der cgroups des Containers an. Sie können cgroupfs oder systemd angeben. Wenn Sie systemd angeben und es nicht verfügbar ist, verwendet das System cgroupfs. Wenn keine Option angegeben ist, versucht der Exec-Treiber standardmäßig zuerst systemd und greift auf cgroupfs zurück. In diesem Beispiel wird der Treiber auf cgroupfs gesetzt:
Meine Frage ist, was ist cgroupfs
und wie ist es systemd
in diesem Fall zu vergleichen? Nach Informationen zu googeln, cgroupfs
führte zu einem Tweet :
--exec-opt native.cgroupdriver = cgroupfs FTW. Ernsthaft @docker, Drop-Unterstützung für von systemd verwaltete Gruppen. Es ist eine Katastrophe
Aber ich hoffe, jemand kann mehr Details dazu liefern, anstatt nur zu sagen, dass eine andere Einstellung als die Standardeinstellung verwendet wird.
--exec-opt native.cgroupdriver=cgroupfs
. Aber ich vermute, wenn Sie eine Antwort schreiben, in der die Einstellung erläutert wird, die für Anfänger verständlicher ist, als in der Docker-Dokumentation, erhalten Sie einige positive Stimmen, und dies könnte für die Leute hilfreich sein, die die Frage auch in Zukunft von Google finden.Antworten:
Wie ich aus Kommentaren in Quellen ersehen kann, in:
vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux.go
cgroupfs
scheinen eine eigene docker (libcontainer
) Implementierung zu sein, die Container konfiguriert, diecgroups
direkt in Dateien schreibencgroups-file-system
(zB gemountet in/sys/fs/cgroup/
).quelle