J'ai beaucoup de conteneurs qui poussent très vite; par exemple, des bases de données.
Lorsque vous créez un volume docker externe (docker volume create {volume_name} ), je le vois répertorié dans le répertoire des volumes docker sous /var/lib/docker/volumes/{volume_name} .
Est-il correct de monter volume_name sur une partition LVM, par exemple, afin que je puisse utiliser le système d'exploitation hôte pour étendre facilement la partition ?
J'ai effectivement essayé cela pour un conteneur mysql, mais lorsque je l'ai fait, je ne vois aucun fichier à l'intérieur /var/lib/docker/volumes/{volume_name}/ .
Est-ce une chose valable à faire ?
Réponse acceptée :
Si vous voulez faire cela, votre meilleur pari serait de créer un LV qui se monte à /var/lib/docker/volumes/<volname> avant de créer le volume dans Docker. Je viens aussi d'essayer sur mon portable. J'ai créé le LV monté sur /var/lib/docker/volumes/demo , monté, puis créé le volume demo dans Docker et tout semblait heureux.
Alternativement, le mode direct-lvm de Docker pourrait également résoudre ce problème.
Citation :"Le pilote devicemapper utilise des périphériques de bloc dédiés à Docker et fonctionne au niveau du bloc, plutôt qu'au niveau du fichier. Ces appareils peuvent être étendus en ajoutant du stockage physique à votre hôte Docker, et ils fonctionnent mieux que l'utilisation d'un système de fichiers au niveau du système d'exploitation."