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

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Tutorial de Carpetas y Directorios en Ubuntu Linux

Instalar Docker en Ubuntu Server usando docker.io