Tenía XAMPP. Funcionaba. ¿Para qué cambiarlo?
Pues porque el puerto de MySQL se pillaba solo, tenía que matar procesos manualmente, y cuando quería trabajar desde otro PC... la base de datos no estaba.
Así que dockericé mi portfolio personal. Esto es lo que aprendí:
Lo que Docker me dio de verdad: 🐳
- Un solo comando para arrancar todo:
docker compose up -d
Nada de abrir XAMPP, nada de conflictos de puertos. - El entorno es el mismo en cualquier máquina: Misma versión de PHP, mismo Apache, misma configuración. Sin sorpresas.
- Me obligó a ordenar mis variables de entorno: Antes tenía credenciales hardcodeadas en el código. Docker me forzó a usar un
.envde verdad.
Lo que Docker NO resuelve solo:
La base de datos sigue siendo local si no la sacas fuera. Levanto el contenedor en el PC2 → BD vacía. Mismo problema de antes.
La solución real fue combinar Docker + BD en la nube (Clever Cloud, tier gratuito). Ahora sí: cualquier máquina, mismo entorno, mismos datos.
Lo que me hizo parar a pensar:
Al configurar las variables de entorno me di cuenta de que tenía credenciales hardcodeadas en el código fuente. Contraseñas en texto plano, visibles en el repo.
Dockerizar me obligó a hacerlo bien.
Para quien tenga un proyecto en XAMPP y esté pensando en Docker:
No lo hagas solo por Docker. Hazlo cuando tengas una razón concreta:
- Quieres reproducibilidad entre máquinas
- Quieres prepararte para producción
- Estás harto de gestionar puertos y servicios manualmente
El stack que uso ahora:
- PHP 8.2 + Apache en contenedor
- MySQL en Clever Cloud (gratuito)
- phpMyAdmin en contenedor para gestión visual
- Variables de entorno con
.env
¿Has dockerizado algún proyecto que nació en local? ¿Qué fue lo más inesperado del proceso?
#Docker #PHP #DesarrolloWeb #Portfolio #AprendiendoEnPublico