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."