Configuración de Docker Compose para WordPress + MySQL 8.0 + phpMyAdmin
Cuándo usar este stack
Este stack es ideal para entornos de desarrollo local, pruebas de integración (staging) y despliegues rápidos de sitios web corporativos o blogs con tráfico bajo a moderado. Facilita la administración visual de la base de datos relacional mediante phpMyAdmin sin necesidad de configurar clientes locales de MySQL, acelerando el ciclo de vida del desarrollo y la resolución de problemas en la capa de persistencia.
Variables de entorno críticas para producción
MYSQL_ROOT_PASSWORD(Servicio MySQL): Contraseña del usuario administrador del motor de base de datos. Debe ser de alta entropía.MYSQL_PASSWORD/WORDPRESS_DB_PASSWORD(Servicios MySQL y WordPress): Contraseña del usuario sin privilegios root dedicado exclusivamente a la base de datos de WordPress.WORDPRESS_CONFIG_EXTRA(o Variables de Salts/Keys): Claves y sales criptográficas (AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY, etc.) para asegurar el cifrado de sesiones y cookies en WordPress.
Consejo de Seguridad y Rendimiento
- Seguridad (Aislamiento de phpMyAdmin): Nunca expongas el puerto de phpMyAdmin directamente a Internet en producción. Elimina el servicio en entornos finales o restringe su mapeo de puertos a
127.0.0.1:<puerto>para acceder exclusivamente mediante un túnel SSH o VPN corporativa. - Rendimiento (MySQL 8.0): Ajusta el comando de inicio de MySQL para optimizar la memoria asignada configurando
--innodb-buffer-pool-sizeal 50-70% de la RAM disponible del host/contenedor dedicado y usa volúmenes de Docker montados sobre almacenamiento SSD con sistema de archivos optimizado.
Checklist de Seguridad antes de desplegar
- Cambiar las contraseñas por defecto en el archivo .env
- Mapear volúmenes persistentes en el VPS
- Configurar las reglas de firewall para los puertos requeridos