11 Probar configuración
Prueba del docker-compose y creación del proyecto Laravel
Este tutorial verifica que la configuración de docker-compose funcione correctamente, se construye la imagen personalizada y se crea un proyecto Laravel dentro del contenedor.
📁 Pasos principales
1. Ejecución del docker-compose
Se ejecuta el comando para construir y levantar los contenedores en segundo plano:
docker-compose up -d
2. Descarga de la imagen base (PHP 7.4-fpm)
Se descarga automáticamente la imagen PHP 7.4-fpm (la especificada en el Dockerfile)
El proceso tiene 11 pasos definidos en el Dockerfile:
Instalación de paquetes del sistema
Instalación de extensiones de PHP
Configuración de usuario y permisos
3. Solución de problemas comunes
⚠️ Problema: La descarga de imágenes puede quedarse "pegada" o congelada.
✅ Solución: Detener el proceso con
Ctrl + Cy volver a ejecutardocker-compose up -d.Nota: Esto suele ocurrir en entornos locales, no en servidores en la nube.
4. Verificación del contenedor
Se comprueba que el contenedor esté en ejecución:
docker psSe muestra el contenedor
laravel-app-1corriendo correctamente
5. Acceso al contenedor
Se ingresa al contenedor para ejecutar comandos:
docker exec -it laravel-app-1 /bin/bash
6. Creación del proyecto Laravel
Dentro del contenedor, se usa Composer para crear el proyecto:
composer create-project laravel/laravel application --prefer-distSe descarga la última versión estable (Laravel 8.5.11)
Se genera automáticamente el archivo
.envcon la clave de la aplicación
7. Copia de archivos al directorio local
Se sale del contenedor con
exitSe copian todos los archivos de la carpeta
applicational directorio actual:cp -RT application/ .Se elimina la carpeta
applicationque ya no es necesaria:rm -rf application
✅ Puntos más importantes destacados
Se usa
docker-compose up -dpara construir y levantar los contenedores en segundo plano.Se descarga la imagen PHP 7.4-fpm que fue especificada en el Dockerfile.
Se crea el contenedor
laravel-app-1correctamente.Se verifica con
docker psque el contenedor esté corriendo.Se instala Laravel dentro del contenedor usando Composer.
Se genera la clave de la aplicación (
.envconAPP_KEY).Se copian los archivos del contenedor al host para trabajar localmente.
🔜 Próximo video (según el tutorial)
Configurar un servidor web (Nginx) para correr el proyecto Laravel.
Configurar el servicio de MySQL (MariaDB) para la base de datos.
Si necesitas el resumen en otro formato o más detallado, avísame
Este tutorial configura un entorno de desarrollo para Laravel usando Docker, específicamente levantando un contenedor con PHP-FPM para instalar el framework y dejar los archivos listos en tu computadora local.
En pocas palabras, el flujo completo hace esto:
Levanta el servidor PHP en Docker: Ejecuta
docker compose up -dpara descargar la imagen de PHP 7.4 FPM y poner en marcha el contenedor (resolviendo posibles congelamientos de descarga).Entra al contenedor: Usa
docker exec -itpara abrir una terminal dentro del entorno aislado de Docker.Instala Laravel dentro del contenedor: Ejecuta Composer (
composer create-project) para descargar todas las dependencias y crear un proyecto nuevo de Laravel dentro de una carpeta llamadaapplication/.Saca los archivos del contenedor a tu PC: Copia todo el contenido de esa carpeta
application/(que está sincronizada por volumen) hacia la raíz de tu proyecto local mediantecp -RT.Limpia los residuos: Elimina la carpeta
application/vacía que ya no sirve.
Resultado final al terminar el tutorial:
Tienes la estructura completa de un proyecto Laravel (carpetas app, bootstrap, vendor, archivo .env, etc.) directamente en tu máquina local, y el contenedor PHP sigue corriendo. El siguiente paso (que el video anuncia) será instalar Nginx (o Apache) y MySQL para poder ver la aplicación funcionando en el navegador
Configuración de Laravel con Docker (PHP-FPM y Composer)
Este tutorial te guiará para levantar un contenedor Docker con PHP 7.4 FPM, instalar Laravel mediante Composer y preparar los archivos del proyecto en tu máquina local.
Requisitos previos
Tener Docker y Docker Compose instalados.
Conocimientos básicos de terminal.
Paso 1: Levantar el contenedor con Docker Compose
Para iniciar los servicios definidos en tu archivo docker-compose.yml, ejecuta:
docker compose up -d⚠️ ACTUALIZACIÓN IMPORTANTE (Comando más actual):
En el video se usadocker-compose(con guión). Esa sintaxis es la versión antigua (v1). Hoy en día, Docker integra Compose como un plugin, por lo que el comando correcto y moderno esdocker compose(sin guión). Si tienes un proyecto muy antiguo, puede que aún funcione con guión, pero te recomiendo migrar.
Paso 2: Esperar a que se descarguen las imágenes
El contenedor usará la imagen php:7.4-fpm. La primera vez tardará un poco porque Docker debe descargar capas de sistema operativo y extensiones.
Problema común (y su solución):
A veces la descarga se "pega" o se queda congelada.
Solución del video (válida): Presiona
Ctrl + Cy vuelve a ejecutardocker compose up -d. Como muchas capas ya están cacheadas, la descarga continuará más rápido.Solución más moderna: Si el problema persiste, verifica tu conexión a Internet o configura un mirror para las imágenes de Docker (ej. usando un proxy o cambiando el registro de Docker en los ajustes de Docker Desktop).
Paso 3: Verificar que el contenedor esté corriendo
Una vez finalizada la instalación (deberías ver "Step 11/11" completado), verifica el estado:
docker psDeberías ver tu contenedor (ej. laravel_app_1) con el estado "Up".
Paso 4: Acceder al interior del contenedor
Para ejecutar comandos dentro del contenedor (como Composer), usamos docker exec:
docker exec -it laravel_app_1 /bin/bashNota: Cambia
laravel_app_1por el nombre o ID de tu contenedor que apareció en el paso anterior.
Paso 5: Crear el proyecto Laravel dentro del contenedor
Una vez dentro, usa Composer para crear el proyecto. En el video se usa --prefer-dist. Hoy en día esto es el comportamiento por defecto, así que puedes omitirlo:
composer create-project laravel/laravel application⚠️ ACTUALIZACIÓN IMPORTANTE (Versión de Laravel):
En el video se instala Laravel 8.5.11, que actualmente es una versión obsoleta (llegó al final de su soporte en 2022).
Comando actual: Al ejecutar el comando de arriba, hoy se instalará Laravel 11.x (la más estable en 2026, junto a la reciente 12.x).
Si necesitas una versión específica, usa:
composer create-project laravel/laravel:^11.0 application.
Espera a que se descarguen todas las dependencias (esto puede tardar unos minutos).
Paso 6: Verificar el archivo de entorno (.env)
Dentro del contenedor, navega a la carpeta que acabas de crear:
cd application
ls -la
cat .envVerás que el archivo .env se ha generado automáticamente con las variables de entorno por defecto.
Paso 7: Salir del contenedor
Cuando hayas terminado, sal de la terminal del contenedor:
exitPaso 8: Copiar los archivos a tu máquina local
El video explica que se compartió el volumen, pero como el proyecto se creó dentro de la carpeta application/ (que está montada), debemos extraer sus archivos a la raíz de nuestro proyecto local.
Comando usado en el video (¡Ojo con los errores!):
El video escribe cp -RT application/ . para copiar todo el contenido de application/ a la carpeta actual sin crear una subcarpeta extra.
cp -RT application/ .⚠️ ACLARACIÓN sobre el comando:
El flag
-Res para copia recursiva.El flag
-Ttrata a la carpeta de destino como un archivo normal, evitando queapplication/se copie dentro de otra carpeta.Alternativa más legible y actual: Puedes usar
rsyncsi lo tienes instalado:rsync -av application/ ./ --exclude=applicationo simplemente mover la carpeta si no la necesitas.
Otra opción mejor para futuros proyectos: En lugar de hacer este copiado manual, configura tudocker-compose.ymlpara que el volumen monte directamente la raíz del proyecto (.:/var/www/html) y ejecutes elcreate-projectapuntando al directorio actual (.), evitando tener que copiar archivos después.
Paso 9: Eliminar la carpeta sobrante
Una vez copiado todo, elimina la carpeta application vacía para no tener duplicados:
rm -rf application⚠️ ACTUALIZACIÓN (Flag -B):
En el video mencionanrmove -RF -B. El comando correcto esrm -rfv application(laves para verbose/mostrar detalles). La bandera-Bno existe enrmestándar (quizás se confundió con-bde backup, pero es un error de transcripción).
Paso 10: Verificar el resultado final
Si listas los archivos, ahora deberías ver la estructura típica de Laravel directamente en tu carpeta raíz (carpetas app/, bootstrap/, vendor/, config/, etc.).
ls -l🚀 Resumen de Comandos Más Actuales y Buenas Prácticas
| Acción | Comando del video (Obsoleto/Erroneo) | Comando Actual o Mejor Práctica |
|---|---|---|
| Iniciar Docker | docker-compose up -d | docker compose up -d (sin guión) |
| Entrar al contenedor | docker exec -it larabel_app_1 /bin/bash | docker exec -it laravel_app_1 /bin/bash (Corregir nombre) |
| Crear proyecto | composer create-project laravel/laravel --prefer-dist application | composer create-project laravel/laravel application (--prefer-dist es obsoleto, ya es default) |
| Versión de PHP | PHP 7.4 FPM (Fin de soporte en 2022) | Usa php:8.3-fpm o php:8.4-fpm en tu Dockerfile para mayor seguridad y rendimiento. |
| Versión de Laravel | Laravel 8.5.11 | Laravel 11.x (o 12.x). Requiere PHP 8.2+. |
| Copiar archivos | cp -RT application/ . | Mejor solución: Configura tu docker-compose.yml con volumes: - .:/var/www/html y ejecuta composer create-project laravel/laravel . directamente dentro del contenedor, evitando el paso de copiado. |
Conclusión
Has creado exitosamente un contenedor Docker con PHP-FPM, has instalado Laravel dentro de él y has extraído los archivos a tu máquina local.
Próximo paso lógico: Tal como indica el final del video, el siguiente paso será configurar Nginx (o Apache) para servir la aplicación y MySQL para la base de datos, todo orquestado con Docker Compose.
¡Recuerda actualizar siempre las versiones de PHP y Laravel para tener las últimas características de seguridad y rendimiento
Comentarios
Publicar un comentario