11-5-Bind Mount
La instrucción
working_dir: /var/www en el docker-compose.yml
garantiza que cuando ejecutas:
docker exec -it laravel_app_1 /bin/bash
el shell interactivo (/bin/bash) se inicie en el directorio
/var/www
dentro del contenedor.
En docker-compose.yml. La línea
volumes: - .:/var/www
crea un "Bind Mount" (montaje de enlace) que establece una sincronización bidireccional:
Todo lo que crees en ~/laravel en tu máquina local aparece en
/var/www
en el contenedor.
Todo lo que crees o modifiques en
/var/www
en el contenedor aparece en ~
/laravel
en tu máquina local.
/var/www (Contenedor) está enlazado directamente con el directorio local ~/laravel (Host). Por eso, cuando instalas Laravel dentro del contenedor en /var/www, ves los archivos aparecer al instante en tu carpeta local ~/laravel.
El Comando de Instalación de Laravel
Analicemos el comando que ejecutas dentro del contenedor:
Bash
composer create-project laravel/laravel --prefer-dist application
Ruta resultante:
Contenedor: /var/www/application
Host (Sincronizado): ~/laravel/application
La Reubicación de Archivos
La razón por la que el tutorial te indica mover los archivos después de la instalación es precisamente por el paso application:
Dado que el código de Laravel se instaló en el subdirectorio
application, y queremos que el código fuente esté directamente en el directorio raíz de nuestro proyecto...
El objetivo final es que los archivos de Laravel (como artisan, server.php, etc.) estén directamente en /var/www (contenedor) o ~/laravel (host). La instrucción de mover los archivos (cd application, mover y limpiar) elimina la subcarpeta application, dejando la estructura de Laravel directamente en la raíz del volumen compartido.
Comentarios
Publicar un comentario