meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


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

 docker run -it centos:latest --mount type=bind,source=/home/temporal,target=/tmp

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

Volumes

Como ya dijimos los volumes se almacena en /var/lib/docker/volumes y los gestiona Docker directamente. Puedes ser anónimos o les podemos asignar un nombre descriptivo.

Referencias