14. Probando nuestra app de laravel

 Esta sección detalla los comandos para iniciar los contenedores del entorno de desarrollo (PHP, Nginx, MySQL), verificar su estado, confirmar la conexión a la base de datos y ejecutar las migraciones de Laravel.


Paso 1: Iniciar los Contenedores

Desde el directorio ~/laravel, levanta todos los servicios definidos en el archivo docker-compose.yml.

  1. Ejecutar Docker Compose: El comando up con el argumento -d construirá las imágenes faltantes y levantará los tres contenedores en segundo plano.

    Bash
    docker-compose up -d
    

    ** (Referencia a Imagen 14.1 Probando nuestra app de laravel.png)

  2. Verificar el Estado de los Contenedores: Asegúrate de que los tres servicios (app, nginx, db) estén corriendo (Up):

    Bash
    docker ps
    
    • Verificación: El servicio nginx debe mostrar que está exponiendo el puerto 8000 del host al puerto 80 del contenedor. ** (Referencia a Imagen 14.2 Probando nuestra app de laravel.png)

Paso 2: Probar la Aplicación en el Navegador

Utiliza la dirección IP de tu máquina virtual y el puerto expuesto (8000) para acceder a la aplicación Laravel desde tu navegador local.

  1. Abre tu navegador web e ingresa la siguiente URL, reemplazando la IP con la de tu máquina virtual:

    http://192.168.1.208:8000
    
    • Resultado esperado: Deberías ver la pantalla de bienvenida predeterminada de Laravel. Esto confirma que el contenedor de Nginx está sirviendo el código de PHP-FPM correctamente.

Paso 3: Verificar la Conexión a la Base de Datos

Ahora vamos a comprobar que el servicio MySQL haya creado correctamente la base de datos y que las credenciales funcionen.

  1. Acceder al Contenedor de la Base de Datos: Utiliza docker exec para ingresar al shell interactivo del contenedor de la base de datos (laravel_db_1):

    Bash
    docker exec -it laravel_db_1 /bin/bash
    
  2. Ingresar al Cliente MySQL (Usuario Root): Una vez dentro del contenedor, usa el cliente mysql con las credenciales de root (o el usuario que configuraste) y el password que definiste en el archivo .env:

    Bash
    # En el contenedor:
    mysql -u root -p
    # Ingresa el password (ej. 'secret_password')
    
  3. Confirmar la Base de Datos Creada: Verifica que la base de datos especificada en .env (ej. laravel_db) haya sido creada automáticamente por MySQL:

    SQL
    mysql> show databases;
    
    • Verificación: La lista de bases de datos debe incluir laravel_db. ** (Referencia a Imagen 14.3 Probando nuestra app de laravel.png)

  4. Salir del Cliente MySQL y del Contenedor:

    SQL
    mysql> exit;
    # En el shell del contenedor:
    exit
    

Paso 4: Ejecutar Migraciones de Laravel

Finalmente, prueba la conexión de la aplicación con la base de datos ejecutando las migraciones por defecto de Laravel.

  1. Ejecutar el Comando Artisan desde el Host: Utiliza docker exec para ejecutar el comando php artisan migrate dentro del contenedor de la aplicación (laravel_app_1) sin necesidad de entrar al shell:

    Bash
    docker exec laravel_app_1 php artisan migrate
    
    • Resultado: El comando debe ejecutarse exitosamente, creando las tablas por defecto de Laravel (users, password_resets, etc.) en la base de datos laravel_db.

    ** (Referencia a Imagen 14.4 Probando nuestra app de laravel.png)

  2. Verificar Tablas (Opcional): Si vuelves a acceder al contenedor de la base de datos y utilizas el comando show tables; en la base de datos laravel_db, deberías ver las tablas creadas (users, migrations, etc.).


Conclusión: ¡Tu entorno Docker completo está funcionando! La aplicación Laravel se ejecuta a través de Nginx y se conecta perfectamente con la base de datos MySQL persistente.

El siguiente paso es mejorar la experiencia de desarrollo resolviendo la dirección IP (192.168.1.208:8000) como un dominio local más amigable (ej. laravel.local).

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