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:

    bash
    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 + C y volver a ejecutar docker-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:

    bash
    docker ps
  • Se muestra el contenedor laravel-app-1 corriendo correctamente

5. Acceso al contenedor

  • Se ingresa al contenedor para ejecutar comandos:

    bash
    docker exec -it laravel-app-1 /bin/bash

6. Creación del proyecto Laravel

  • Dentro del contenedor, se usa Composer para crear el proyecto:

    bash
    composer create-project laravel/laravel application --prefer-dist
  • Se descarga la última versión estable (Laravel 8.5.11)

  • Se genera automáticamente el archivo .env con la clave de la aplicación

7. Copia de archivos al directorio local

  • Se sale del contenedor con exit

  • Se copian todos los archivos de la carpeta application al directorio actual:

    bash
    cp -RT application/ .
  • Se elimina la carpeta application que ya no es necesaria:

    bash
    rm -rf application

✅ Puntos más importantes destacados

  • Se usa docker-compose up -d para 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-1 correctamente.

  • Se verifica con docker ps que el contenedor esté corriendo.

  • Se instala Laravel dentro del contenedor usando Composer.

  • Se genera la clave de la aplicación (.env con APP_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


bb
***********************************************

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:

  1. Levanta el servidor PHP en Docker: Ejecuta docker compose up -d para descargar la imagen de PHP 7.4 FPM y poner en marcha el contenedor (resolviendo posibles congelamientos de descarga).

  2. Entra al contenedor: Usa docker exec -it para abrir una terminal dentro del entorno aislado de Docker.

  3. 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 llamada application/.

  4. 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 mediante cp -RT.

  5. 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


j
dd

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:

bash
docker compose up -d

⚠️ ACTUALIZACIÓN IMPORTANTE (Comando más actual):
En el video se usa docker-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 es docker 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 + C y vuelve a ejecutar docker 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:

bash
docker ps

Deberí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:

bash
docker exec -it laravel_app_1 /bin/bash

Nota: Cambia laravel_app_1 por 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:

bash
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:

bash
cd application
ls -la
cat .env

Verá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:

bash
exit

Paso 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.

bash
cp -RT application/ .

⚠️ ACLARACIÓN sobre el comando:

  • El flag -R es para copia recursiva.

  • El flag -T trata a la carpeta de destino como un archivo normal, evitando que application/ se copie dentro de otra carpeta.

  • Alternativa más legible y actual: Puedes usar rsync si lo tienes instalado: rsync -av application/ ./ --exclude=application o simplemente mover la carpeta si no la necesitas.
    Otra opción mejor para futuros proyectos: En lugar de hacer este copiado manual, configura tu docker-compose.yml para que el volumen monte directamente la raíz del proyecto (.:/var/www/html) y ejecutes el create-project apuntando 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:

bash
rm -rf application

⚠️ ACTUALIZACIÓN (Flag -B):
En el video mencionan rmove -RF -B. El comando correcto es rm -rfv application (la v es para verbose/mostrar detalles). La bandera -B no existe en rm estándar (quizás se confundió con -b de 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.).

bash
ls -l

🚀 Resumen de Comandos Más Actuales y Buenas Prácticas

AcciónComando del video (Obsoleto/Erroneo)Comando Actual o Mejor Práctica
Iniciar Dockerdocker-compose up -ddocker compose up -d (sin guión)
Entrar al contenedordocker exec -it larabel_app_1 /bin/bashdocker exec -it laravel_app_1 /bin/bash (Corregir nombre)
Crear proyectocomposer create-project laravel/laravel --prefer-dist applicationcomposer create-project laravel/laravel application (--prefer-dist es obsoleto, ya es default)
Versión de PHPPHP 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 LaravelLaravel 8.5.11Laravel 11.x (o 12.x). Requiere PHP 8.2+.
Copiar archivoscp -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

Entradas más populares de este blog

12. Hola Mundo en Docker.

11¿Qué es Docker? y ¿Por qué debo saberlo?

14. Publish and Detached modes