Montar carpetas (o sistemas de archivos) significa vincular o conectar un sistema de archivos (carpeta o directorio) a una ubicación específica en otro sistema de archivos. Esto permite hacer accesible el contenido de una carpeta dentro de otra carpeta o incluso en otra ubicación del sistema.
¿Qué significa montar?
El montaje de carpetas es una característica importante de los sistemas operativos y se utiliza a menudo en el contexto de la contenedorización como Docker o la virtualización para permitir el acceso a archivos y datos entre la máquina host y los contenedores o máquinas virtuales.
La idea básica detrás del montaje de carpetas es dividir un área de almacenamiento físico (como un disco o un sistema de archivos) en diferentes áreas lógicas para organizar y acceder a los archivos. Esto permite controlar y modificar el contenido de un sistema de archivos sin afectar a otros sistemas de archivos o directorios.
El montaje de carpetas se utiliza a menudo para intercambiar datos entre la máquina anfitriona y los contenedores, actualizar código durante el desarrollo de aplicaciones, almacenar bases de datos o personalizar archivos de configuración.
¿Por qué necesito montar carpetas?
El montaje de carpetas en Docker Compose permite intercambiar datos entre la máquina anfitriona y los contenedores, lo que proporciona varias ventajas y oportunidades:
- Persistencia de datos: utilizando el montaje de carpetas, puedes persistir datos creados o modificados dentro de contenedores a la máquina host. Esto es importante para preservar datos persistentes, como bases de datos o sistemas de archivos, que pueden restaurarse después de reiniciar los contenedores.
- Actualizaciones de código: si estás desarrollando una aplicación y quieres ver instantáneamente los cambios de código sin tener que reconstruir la imagen y reiniciar el contenedor, montar carpetas es una gran manera de hacerlo. Puedes montar la carpeta de código fuente en la máquina anfitriona dentro del contenedor, y cuando los archivos de código cambien en el anfitrión, se mostrarán automáticamente dentro del contenedor sin tener que reiniciarlo.
- Dividir configuraciones: también puedes utilizar el montaje de carpetas para dividir los archivos de configuración entre la máquina anfitriona y los contenedores.
Cómo montar.
En Docker Compose, puedes montar carpetas de la máquina anfitriona en contenedores utilizando la opción `volumes`. He aquí un ejemplo de uso de volúmenes en el archivo docker-compose.yml:
yaml
version: '3'
services:
app:
image: nginx
volumes:
- /path_to_host_folder:/path_to_folder_volume
En el ejemplo anterior,"/ruta_a_carpeta_host" es la ruta a la carpeta de tu máquina host que quieres montar en un contenedor. `/path_to_folder_volume` es la ruta a la carpeta dentro del contenedor donde quieres montar la carpeta host.
También puede utilizar rutas relativas en lugar de absolutas, especificando la ruta relativa a la ubicación del archivo `docker-compose.yml`. En este caso, utilice `./` para especificar el directorio actual.
yaml
version: '3'
services:
app:
image: nginx
volumes:
- ./host's_folder:/path_to_folder_volume
También puedes especificar múltiples carpetas montadas simplemente añadiéndolas a la lista `volumes`.
yaml
version: '3'
services:
app:
image: nginx
volumes: