Almacenamiento en Docker

Para almacenar los datos y que persistan al apagar o reiniciar el contenedor tenemos dos tipos de almacenamiento persistente:

bind mount: El almacenamiento se realiza en el sistema anfitrión del contenedor

volumes: Docker almacena los datos dentro de un área que él controla en el sistema de ficheros. Los volúmenes se almacenarán en /var/lib/docker/volumes/ y solo Docker tiene permisos sobre esta ubicación. Un volumen puede ser montado por diferentes contenedores a la vez.

La diferencia entre bind mounts y los volúmenes, es que a los volumes sólo accede Docker y con los bind mounts es posible acceder a la ruta mapeada y modificar los ficheros.

Bind Mount

Se utiliza un directorio del equipo anfitrion para almacenar los datos.

Ojo borra todo lo que ya hubiese en ese directorio

Un ejemplo sería

En el ejemplo arrancamos un contedor de centos y mapeamos la carpeta /home/temporal del contenedor a la carpeta /tmp del host anfitrion

Volumes

Referencias

https://www.atareao.es/tutorial/docker/almacenamiento-en-contenedores/

https://4sysops.com/archives/introduction-to-docker-bind-mounts-and-volumes/