Tengo muchos contenedores que crecen incómodamente rápido; por ejemplo, bases de datos.
Cuando crea un volumen docker externo (docker volume create {volume_name}
), lo veo enumerado en el directorio de volúmenes de Docker en /var/lib/docker/volumes/{volume_name}
.
¿Está bien montar volume_name
? directorio en una, digamos, partición LVM para poder usar el sistema operativo host para extender la partición fácilmente?
De hecho, probé esto para un contenedor mysql, pero cuando lo hice, no veo ningún archivo dentro /var/lib/docker/volumes/{volume_name}/
.
¿Es esto algo válido para hacer?
Respuesta aceptada:
Si desea hacer eso, su mejor apuesta sería crear un LV que se monte en /var/lib/docker/volumes/<volname>
antes de crear el volumen en Docker. También probé en mi computadora portátil. Creé el LV montado en /var/lib/docker/volumes/demo
, lo montó y luego creó el volumen demo
en Docker y todo parecía feliz.
Alternativamente, el modo lvm directo de Docker también podría solucionar este problema.
Citando:“El controlador del mapeador de dispositivos utiliza dispositivos de bloque dedicados a Docker y opera a nivel de bloque, en lugar de a nivel de archivo. Estos dispositivos se pueden ampliar agregando almacenamiento físico a su host Docker y funcionan mejor que usar un sistema de archivos al nivel del sistema operativo”.