Cómo Dockerizar WordPress para Desarrollo Local --> Una Guía Práctica
En el mundo del desarrollo web, WordPress sigue siendo una de las plataformas más populares para crear sitios. Sin embargo, cuando se trata de desarrollar y experimentar con un sitio WordPress, hacerlo directamente en el servidor de producción puede ser arriesgado y lento. La solución: crear un entorno de desarrollo local con Docker.
¿Por qué no desarrollar WordPress directamente en línea?
Desarrollar un sitio WordPress directamente en un hosting presenta varios problemas:
- Es extremadamente lento: Los cambios tardan en reflejarse, lo que ralentiza tu flujo de trabajo.
- Riesgo de indexación: Si Google indexa tu sitio mientras está en desarrollo, podría afectar negativamente tu SEO.
- Dificultad para experimentar: No puedes probar libremente diferentes configuraciones o plugins sin el temor de romper algo.
La mejor práctica es desarrollar localmente, y cuando todo esté perfecto, subirlo a producción. Aquí es donde Docker entra en juego.
¿Qué es Docker y por qué usarlo para WordPress?

Docker es una plataforma que permite crear, ejecutar y gestionar contenedores. Un contenedor es como una máquina virtual ligera que encapsula todo lo necesario para que una aplicación funcione, incluidas las dependencias y la configuración.
Las ventajas de usar Docker para WordPress son numerosas:
- Aislamiento completo: Cada proyecto está completamente aislado, lo que evita conflictos entre versiones de PHP, MySQL, etc.
- Reproducibilidad: Puedes replicar exactamente el mismo entorno en cualquier máquina.
- Múltiples entornos simultáneos: Puedes tener varios proyectos WordPress con diferentes configuraciones ejecutándose al mismo tiempo.
- Fácil de limpiar: Si algo sale mal, simplemente eliminas el contenedor y empiezas de nuevo sin afectar tu sistema.
Comparado con soluciones comerciales como LocalWP (anteriormente Local by Flywheel) o MAMP, Docker ofrece mayor flexibilidad y control, sin estar atado a una solución específica de una empresa.
Dockerizando WordPress paso a paso
Vamos a ver cómo configurar un entorno completo de WordPress con Docker, que incluya:
- WordPress
- MySQL para la base de datos
- phpMyAdmin para gestionar la base de datos
El archivo docker-compose.yml
El corazón de nuestra configuración es un archivo llamado docker-compose.yml. Este archivo define todos los servicios que necesitamos para nuestro entorno WordPress.
networks:
noticias-wordpress:
driver: bridge
services:
mysql:
image: mysql
container_name: noticias-wordpress-mysql
tty: true
ports:
- "4208:3306"
volumes:
- "./var/libclea/mysql/:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: wordpress
MYSQL_USER: miusuario
MYSQL_PASSWORD: mipassword
networks:
- noticias-wordpress
server:
image: wordpress:latest
container_name: noticias-wordpress
ports:
- "4282:80"
volumes:
- "./var/www/html/:/var/www/html"
environment:
WORDPRESS_DB_USER: miusuario
WORDPRESS_DB_PASSWORD: mipassword
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_HOST: noticias-wordpress-mysql
depends_on:
- mysql
networks:
- noticias-wordpress
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: noticias-phpmyadmin
ports:
- "4283:80"
environment:
PMA_HOST: noticias-wordpress-mysql
MYSQL_ROOT_PASSWORD: 1234
depends_on:
- mysql
networks:
- noticias-wordpress
Este archivo define tres servicios:
- db: Un contenedor MySQL para la base de datos.
- wordpress: El propio WordPress.
- phpmyadmin: Una interfaz gráfica para gestionar la base de datos MySQL.
También define una red para que estos servicios se comuniquen entre sí y volúmenes para persistir los datos incluso después de reiniciar los contenedores.
Personalizando tu configuración
Puedes adaptar esta configuración a tus necesidades:
- Cambia
mi_sitiopor el nombre de tu proyecto en todas las ocurrencias. - Modifica los puertos si ya tienes otros servicios utilizando esos puertos.
- Ajusta las contraseñas (recuerda que estas son solo para desarrollo local, nunca uses contraseñas débiles en producción).
Levantando el entorno
Una vez que tengas tu archivo docker-compose.yml, solo necesitas ejecutar un comando en la terminal:
docker-compose up -d
La bandera -d hace que los contenedores se ejecuten en segundo plano, permitiéndote seguir usando la terminal.
En cuestión de segundos, Docker descargará las imágenes necesarias y configurará todo el entorno. Es impresionante cómo algo que tradicionalmente llevaba horas de configuración ahora se realiza en minutos.
Accediendo a tu instalación de WordPress
Una vez que los contenedores estén en funcionamiento, puedes acceder a WordPress en tu navegador:
- Abre tu navegador y navega a
http://localhost:4282 - Sigue el asistente de instalación de WordPress:
- Selecciona tu idioma
- Configura el título del sitio
- Crea un usuario administrador
- Establece una contraseña (recuerda, para desarrollo local puedes usar algo simple como “admin”)
¡Y eso es todo! Ahora tienes un entorno de WordPress completamente funcional ejecutándose en tu máquina local.
Administrando tu base de datos
Si necesitas acceder directamente a la base de datos, puedes utilizar phpMyAdmin navegando a http://localhost:4283.
Ventajas de este enfoque
Este método de dockerización ofrece varias ventajas:
- Entorno completo: Tienes todo lo que necesitas en un solo lugar.
- Consistencia: El mismo entorno funcionará en cualquier máquina que tenga Docker instalado.
- Persistencia: Gracias a los volúmenes, tus datos se mantienen incluso si reinicias los contenedores.
- Facilidad de mantenimiento: Si algo sale mal, puedes reconstruir todo el entorno rápidamente.
Dockerizar WordPress para desarrollo local es una práctica que mejora significativamente tu flujo de trabajo. Te permite experimentar libremente, desarrollar más rápido y mantener tu entorno de producción limpio y estable.
Una vez que hayas terminado de desarrollar, simplemente exporta tu base de datos y archivos, y súbelos a tu servidor de producción. Es una forma profesional y eficiente de trabajar con WordPress que, una vez que la pruebes, te preguntarás cómo pudiste vivir sin ella.
¿Ya estás listo para dockerizar tu próximo proyecto WordPress? El código está disponible, los beneficios son claros, y el proceso es sorprendentemente sencillo. ¡Adelante!