Dans la documentation Docker, il y a une discussion des options pour l'exécdriver natif ( https://docs.docker.com/engine/reference/commandline/daemon/ ). La documentation dit
L'option native.cgroupdriver spécifie la gestion des groupes de contrôle du conteneur. Vous pouvez spécifier cgroupfs ou systemd. Si vous spécifiez systemd et qu'il n'est pas disponible, le système utilise cgroupfs. Par défaut, si aucune option n'est spécifiée, l'execdriver essaie d'abord systemd et revient à cgroupfs. Cet exemple définit l'exécdriver sur cgroupfs:
Ma question est ce qui est cgroupfs
et comment se compare-t-il systemd
dans ce cas? Rechercher des informations sur a cgroupfs
conduit à un tweet :
--exec-opt native.cgroupdriver = cgroupfs FTW. sérieusement @docker, abandonner le support des cgroups gérés par systemd, c'est un désastre
Mais j'espère que quelqu'un pourra fournir plus de détails sur ce que cela fait réellement plutôt que de simplement dire utiliser un paramètre différent de celui par défaut.
--exec-opt native.cgroupdriver=cgroupfs
. Mais je soupçonne que si vous écriviez une réponse expliquant le paramètre plus facile à comprendre pour un débutant que ce qui se trouve dans la documentation Docker, vous obtiendriez des votes positifs et que cela pourrait être utile aux personnes qui trouveraient la question de Google à l'avenir également.Réponses:
Comme je peux le voir dans les commentaires des sources dans:
vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux.go
cgroupfs
semblent être la proprelibcontainer
implémentation de docker ( ) qui configure les conteneurscgroups
écrivant directement sur les fichierscgroups-file-system
(par exemple montés dans/sys/fs/cgroup/
).la source