← Volver al blog
24 Mar 2026 · actualizado 24 Mar 2026

De XAMPP a Docker: mi experiencia dockerizando mi portfolio

Cambié mi entorno de desarrollo de XAMPP a Docker para evitar conflictos de puertos, tener un entorno reproducible y ordenar mis variables de entorno. La combinación Docker + base de datos en la nube me permitió trabajar desde cualquier máquina sin perder datos.

De XAMPP a Docker: mi experiencia dockerizando mi portfolio

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 .env de 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