Saltar a contenido

Filesystem del host (bind mount)

Bind mount permite usar una carpeta (o archivo) del host que es presentada en el espacio de filesystem del contenedor mediante la técnica de montado bind (mount -o bind) de Linux.

Bind mount es la forma dar permanencia a los datos de disco del contenedor.

El bind mount se especifica en el momento de lanzar el contenedor y permite realizar los procesos de respaldo, migración, etc. con herramientas fuera de docker.

--volume | -v

Carpeta

Permite apuntar una ruta de carpeta del host y presentarlo dentro del contenedor en un punto de montado.

-v path-host:path-container

Y se configura al lanzar el contenedor:

docker container run --name web-nginx -v /opt/website:/usr/share/nginx/html:ro -d nginx

Esto hará que la carpeta del host /opt/website quede presentada como la carpeta /usr/share/nginx/html en el contenedor.

El atributo :ro hará que para el contenedor sea un espacio de solo lectura.

Otro contenedor puede ser lanzado con la misma opción de montado (-v) para reutilizar los datos generados por el primer contenedor.

Archivo

Permite presentar una archivo del host dentro del contenedor

-v path-to-file:file-in-container

docker container run --name web-nginx -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -d nginx

Ejercicios:

1.

De alguna aplicación que esté desarrollando, ejecutar la imagen docker del servicio que necesita tener levantado, montando el directorio de su aplicación desde el host.

Ejemplos:

docker run -it --rm -v $PWD/src:/usr/local/app --workdir /usr/local/app ruby:latest bash

# bundle install 

Referencias: