W dokumentacji Dockera znajduje się omówienie opcji dla natywnego programu wykonawczego ( https://docs.docker.com/engine/reference/commandline/daemon/ ). Dokumentacja mówi
Opcja native.cgroupdriver określa zarządzanie grupami kontenerów. Możesz określić cgroupfs lub systemd. Jeśli podasz systemd i nie jest on dostępny, system użyje cgroupfs. Domyślnie, jeśli nie określono żadnej opcji, program uruchamiający najpierw próbuje systemd i wraca do cgroupfs. Ten przykład ustawia program uruchamiający na cgroupfs:
Moje pytanie brzmi: co to jest cgroupfs
i jak się ma systemd
w tym przypadku? Googling po informacje na temat cgroupfs
doprowadzenia do tweeta :
--exec-opt native.cgroupdriver = cgroupfs FTW. poważnie @docker, porzuć wsparcie dla grup zarządzanych przez systemd, to katastrofa
Mam jednak nadzieję, że ktoś może podać więcej szczegółów na temat tego, co to właściwie robi, niż powiedzieć, że należy użyć ustawienia innego niż domyślne.
--exec-opt native.cgroupdriver=cgroupfs
. Podejrzewam jednak, że jeśli napisałeś odpowiedź wyjaśniającą ustawienie, które jest łatwiejsze dla początkującego, niż to, co znajduje się w dokumentacji Dockera, otrzymasz kilka pozytywnych opinii i może być pomocne dla osób, które znajdą pytanie od Google również w przyszłości.Odpowiedzi:
Jak widzę z komentarza w źródłach w:
vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux.go
cgroupfs
wydają się być własnąlibcontainer
implementacją docker ( ), która konfiguruje kontenerycgroups
zapisujące bezpośrednio do plikówcgroups-file-system
(np. zamontowane/sys/fs/cgroup/
).źródło