En la documentación de Docker hay una discusión de opciones para el controlador de ejecución nativo ( https://docs.docker.com/engine/reference/commandline/daemon/ ). La documentación dice
La opción native.cgroupdriver especifica la administración de los cgroups del contenedor. Puede especificar cgroupfs o systemd. Si especifica systemd y no está disponible, el sistema usa cgroupfs. De forma predeterminada, si no se especifica ninguna opción, el controlador de ejecución primero intenta systemd y recurre a cgroupfs. Este ejemplo establece el execdriver en cgroupfs:
Mi pregunta es qué es cgroupfs
y cómo se compara systemd
en este caso. Busca en Google información sobre cgroupfs
un tuit :
--exec-opt native.cgroupdriver = cgroupfs FTW. En serio @docker, deje el soporte para cgroups administrados por systemd, es un desastre
Pero espero que alguien pueda proporcionar más detalles sobre lo que realmente hace en lugar de simplemente decir que use una configuración que difiera de la predeterminada.
--exec-opt native.cgroupdriver=cgroupfs
. Pero sospecho que si escribiste una respuesta explicando la configuración que es más fácil de entender para un principiante que lo que está en la documentación de Docker, obtendrías algunos votos positivos y también podría ser útil para las personas que encuentren la pregunta de Google en el futuro.Respuestas:
Como puedo ver en los comentarios de las fuentes en:
vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux.go
cgroupfs
parece ser unalibcontainer
implementación propia de docker ( ) que configura contenedores quecgroups
escriben directamente en archivoscgroups-file-system
(por ejemplo, montados en/sys/fs/cgroup/
).fuente