Skip to content

Latest commit

Β 

History

History
131 lines (97 loc) Β· 2.95 KB

File metadata and controls

131 lines (97 loc) Β· 2.95 KB

Laravel Multi-Project Docker Dev Environment 🐳

Este entorno permite desarrollar mΓΊltiples proyectos Laravel con diferentes versiones de PHP y Node.js, utilizando servicios compartidos como Nginx, MySQL, phpMyAdmin y Mailpit.


πŸ“ Estructura del Proyecto

laravel-docker-dev/
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ nginx/
β”‚ └── default.conf
β”œβ”€β”€ php/
β”‚ β”œβ”€β”€ php74/
β”‚ β”‚ └── Dockerfile
β”‚ └── php82/
β”‚ └── Dockerfile
β”œβ”€β”€ node/
β”‚ β”œβ”€β”€ node16/
β”‚ β”‚ └── Dockerfile
β”‚ └── node18/
β”‚ └── Dockerfile
└── projects/
β”œβ”€β”€ proyecto1/ (PHP 7.4 + Node 16)
└── proyecto2/ (PHP 8.2 + Node 18)

βš™οΈ Servicios

Servicio Puerto DescripciΓ³n
Nginx 80 Servidor HTTP para los proyectos
MySQL 3306 Base de datos
phpMyAdmin 8080 Cliente web para MySQL
Mailpit 8025 Captura de correos SMTP
Laravel App http://proyecto1.local, http://proyecto2.local
Node.js 2 contenedores con diferentes versiones

🧩 Requisitos Previos

  • Docker y Docker Compose instalados
  • Acceso sudo para editar /etc/hosts

πŸ§‘β€πŸ’» Instrucciones

1. Clona este repositorio

git clone <REPO_URL> laravel-docker-dev
cd laravel-docker-dev

2. Agrega tus proyectos Laravel

Coloca tus proyectos en las siguientes carpetas:

projects/proyecto1/
projects/proyecto2/

El cΓ³digo debe tener el archivo public/index.php como punto de entrada.

3. Configura tu archivo hosts

Edita /etc/hosts y agrega:

127.0.0.1 proyecto1.local
127.0.0.1 proyecto2.local

4. Configura .env en Laravel para Mailpit

Edita /etc/hosts y agrega:

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=test@example.com
MAIL_FROM_NAME="${APP_NAME}"

5. Levanta los contenedores

Coloca tus proyectos en las siguientes carpetas:

docker-compose up -d --build

6. Accede a los servicios

πŸ“¦ Node.js por proyecto

Para usar Node dentro de los contenedores:

# Proyecto 1 (Node 16)
docker exec -it node_proyecto1 bash
cd proyecto1
npm install
npm run dev

# Proyecto 2 (Node 18)
docker exec -it node_proyecto2 bash
cd proyecto2
npm install
npm run dev

πŸ›  Tips Adicionales

  • Puedes modificar los Dockerfiles para agregar mΓ‘s extensiones, herramientas o comandos ΓΊtiles.
  • Usa docker-compose logs -f para ver los logs en tiempo real.
  • Crea mΓΊltiples proyectos fΓ‘cilmente duplicando servicios en el docker-compose.yml.