Configuración de Docker para Laravel - Parte 1

Verificando la configuración inicial

Vamos a comprobar que lo que hicimos hasta el momento esté funcionando ejecutando el comando:

bash
docker-compose up -d

Paso 1: Descarga de imágenes de Docker

  • Se descargará la imagen de PHP 7.4 FPM que seleccionamos

  • Este proceso puede tomar tiempo ya que debe traer todas las dependencias necesarias

  • Observaremos que estamos en el paso 1 de 11 (según nuestro Dockerfile)

Paso 2: Instalación de paquetes y extensiones

  • Después del primer paso, se instalarán todos los paquetes y extensiones de PHP especificados

  • Este proceso también puede demorar


Solución de problemas comunes

Problema: Descarga bloqueada

A veces la descarga de imágenes se puede quedar bloqueada:

Síntoma:

  • La descarga no continúa

  • El proceso se detiene en una imagen específica

Solución:

bash
# Presionar Ctrl + C para detener el proceso
# Luego ejecutar nuevamente:
docker-compose up -d

Nota: Este problema ocurre más frecuentemente en entornos locales que en servidores en la nube.


Verificación del contenedor

Una vez completada la instalación sin errores:

bash
docker ps

Deberíamos ver:

  • Contenedor: laravel-app

  • Estado: Ejecutándose correctamente


Creación de la aplicación Laravel

Acceso al contenedor

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

Dentro del contenedor:

  • Verificamos los archivos con ls

  • Confirmamos que tenemos Dockerfile y docker-compose.yml

  • Los cambios se sincronizan entre el equipo local y el contenedor

Instalación de Laravel

bash
composer create-project laravel/laravel application --prefer-dist

Explicación:

  • Crea una carpeta application con el proyecto Laravel completo

  • --prefer-dist descarga la última versión estable de Laravel

Verificación de la instalación

bash
cd application
cat .env

Confirmamos que:

  • Se generaron las variables de entorno

  • Se creó la KEY de Laravel


Preparación para el siguiente paso

Salir del contenedor:

bash
exit

Copiar archivos al directorio local:

bash
cp -rT application/ .

Eliminar carpeta temporal:

bash
rm -rf application

Verificación final:

bash
ls

Deberíamos ver:

  • Todos los archivos de Laravel

  • Carpeta vendor con las dependencias

  • Archivos de configuración de Docker


Próximos pasos

En el siguiente tutorial configuraremos:

  • nginx como servidor web

  • MySQL como base de datos

  • Completaremos la configuración del backend

Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Instalar Docker en Ubuntu Server usando docker.io

Tutorial de Carpetas y Directorios en Ubuntu Linux