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

Sincronizando datos entre PCs: mi solución con Docker y Clever Cloud

Trabajar con la misma base de datos en varios equipos era un dolor de cabeza: exportar, importar, perder datos… hasta que encontré una solución simple y gratuita. En este post cuento cómo integré Clever Cloud con mi proyecto dockerizado y cómo ahora puedo trabajar desde cualquier PC sin problemas, manteniendo el código con Git y los datos sincronizados en la nube.

Post sobre sincronización de bases de datos

Trabajar en dos PCs con la misma base de datos era un infierno.

Tenía mi portfolio en local. El código viajaba perfecto entre el PC de casa y el del instituto gracias a Git.

Pero la base de datos... esa era otra historia.

Cada vez que insertaba un post en el blog desde un PC, tenía que exportar la BD, llevarla al otro, importarla y rezar para no haberme olvidado algo. A veces me olvidaba. A veces perdía datos. Siempre era un frén.

Así que busqué una solución real.


El problema con las opciones gratuitas:

La mayoría de proveedores de MySQL en la nube tienen un mínimo de pago o un free tier tan limitado que no sirve para nada.

  • Railway → créditos que se acaban
  • PlanetScale → cambió su modelo gratuito
  • AWS RDS → gratuito solo el primer año

Luego encontré Clever Cloud.

Tier gratuito real, sin tarjeta de crédito, 10MB de base de datos MySQL. Para un portfolio personal es más que suficiente. Y lo más importante: fácil de configurar.


⚙️ Cómo lo integré con Docker:

Ya tenía el proyecto dockerizado con PHP + Apache en contenedor. El cambio fue simple — en lugar de levantar un contenedor MySQL local, el .env ahora apunta a Clever Cloud:

BD_HOST=xxxxxxxx.mysql.clever-cloud.com
BD_USUARIO=xxxxxxxx
BD_CONTRASENA=xxxxxxxx
    

El contenedor MySQL local desapareció del docker-compose.yml. phpMyAdmin pasó a apuntar directamente a la nube.

Lo más complicado no fue la configuración en sí — fue conseguir que Docker leyera bien las variables de entorno. Varios docker compose down hasta que el contenedor las pillaba correctamente.

Tip: asegúrate de tener env_file en tu servicio dentro del docker-compose.yml. Sin eso las variables del .env no llegan al contenedor.


Cómo queda el flujo ahora:

  • PC de casa → docker compose up -d → trabajo, creo posts, subo cambios
  • PC del instituto → git pulldocker compose up -d → mismos datos, mismo estado

Sin exportar. Sin importar. Sin perder nada.

Se siente casi como tener la web desplegada de verdad. Y eso, viniendo de importar y exportar tablas a mano, es un cambio brutal.


Lo que me llevo de todo esto:

Git resuelve el código. Docker resuelve el entorno. Pero los datos necesitan su propia solución.

No hace falta un servidor caro ni una arquitectura compleja. Para un proyecto personal, un free tier bien elegido es suficiente.

El stack completo ahora:

  • PHP 8.2 + Apache — contenedor Docker
  • MySQL — Clever Cloud (gratuito)
  • phpMyAdmin — contenedor Docker
  • Código — GitHub

¿Tú cómo resuelves la sincronización de datos entre entornos de desarrollo?

#Docker #MySQL #DesarrolloWeb #PHP #AprendiendoEnPublico #Portfolio