5 votes

Comment placer des images Docker en haut d'un partage NFS dans CoreOS ?

J'ai installé CoreOS qui utilise par défaut un périphérique loop-back avec une taille de 100 Go et j'ai rapidement atteint cette limite.

Ma première idée était de placer toutes les images sur mon NAS en utilisant NFS en le montant simplement sur le répertoire /var/lib/docker sans succès.

Maintenant, j'ai trouvé cet article et il semble que Docker crée un périphérique de bloc de toute façon, sur n'importe quel type de stockage pour utiliser ses instantanés CoW, c'est probablement pourquoi je n'ai pas réussi lors de ma première tentative en montant simplement le partage NFS sur le répertoire d'images. Cela me perturbe un peu. Pourquoi ne pas utiliser du pur NFS avec des instantanés natifs du stockage? J'espère qu'il y a une bonne explication pour faire cela. En tout cas, je dois faire ce truc bizarre. Je suis nouveau sur Docker et CoreOS et je ne sais pas comment faire cela correctement. Donc la question est : Comment monter un partage NFS et l'utiliser pour toutes les images sur CoreOS?

2voto

Brian Redbeard Points 349

Bonne nouvelle, vous n'êtes pas le premier à avoir besoin de cela. Docker ne peut pas utiliser directement NFS car il a besoin du support des attributs étendus (xttrs) pour pouvoir stocker des options comme les capacités du noyau, le contexte SELinux, etc. En contournant les choses en utilisant le mapper de périphérique pour créer un périphérique de bloc virtualisé sur un stockage distant, vous fournissez les mécanismes du noyau nécessaires pour utiliser Docker via un mécanisme secondaire. Bien que cela puisse être configuré via l'option dm.loopdatasize option, comme ils le soulignent explicitement sur la page Docker "Note : Cette option configure le mode loopback du devicemapper, qui ne doit pas être utilisé en production.".

En fin de compte, tout dépend des exigences du stockage sous-jacent. Docker utilise simplement les mécanismes fournis par le noyau et ne fait pas de magie par lui-même.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X