Montar un entorno de desarrollo local con WordPress tradicionalmente requería instalar herramientas pesadas como XAMPP, MAMP o configurar un servidor LAMP desde cero. Eso ya es cosa del pasado. Hoy en día, gracias a la contenedorización, podemos tener un sitio web completamente funcional, con su base de datos aislada, en cuestión de minutos.
En esta guía práctica te mostraremos cómo levantar WordPress y MariaDB usando Docker Compose, la forma más limpia, rápida y profesional de trabajar en entornos locales y de producción.
Requisitos Previos
Antes de empezar, solo necesitas tener instalado en tu sistema:
- Docker Engine
- Docker Compose (Incluido en las versiones modernas de Docker)
(Si aún no los tienes listos, puedes pasarte por nuestra Guía Definitiva de Docker donde te enseñamos a instalarlo todo en 2 minutos).
Paso 1: Crear el directorio del proyecto
Lo primero que haremos es crear una carpeta ordenada en nuestro sistema para almacenar los archivos de configuración y los datos persistentes de nuestra web.
Abre tu terminal y ejecuta los siguientes comandos:
Bash
mkdir mi-laboratorio-wp
cd mi-laboratorio-wp
Paso 2: Crear el archivo docker-compose.yml
Docker Compose funciona mediante un «plano arquitectónico» escrito en formato YAML. En este archivo le diremos a Docker que descargue e interconecte dos contenedores: uno para la base de datos (MariaDB) y otro para el servidor web (WordPress).
Crea un archivo llamado docker-compose.yml dentro de la carpeta con tu editor favorito (como VS Code, Nano o Vim) y pega la siguiente configuración oficial optimizada:
YAML
version: '3.8'
services:
db:
image: mariadb:10.6
container_name: wp_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: tu_contrasena_root_secreta
MYSQL_DATABASE: wordpress_db
MYSQL_USER: wp_usuario
MYSQL_PASSWORD: tu_contrasena_usuario_secreta
volumes:
- db_data:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress:latest
container_name: wp_app
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wp_usuario
WORDPRESS_DB_PASSWORD: tu_contrasena_usuario_secreta
WORDPRESS_DB_NAME: wordpress_db
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
¿Qué hace exactamente este archivo?
services: Define las dos herramientas que van a convivir (dbywordpress).image: Descarga de forma automática las versiones oficiales estables directamente desde Docker Hub.ports ("8080:80"): Mapea el puerto 80 del contenedor al puerto 8080 de tu computadora local. Esto significa que entrarás a tu web usandolocalhost:8080.volumes: Esto es vital. Asegura la persistencia de datos. Si apagas o destruyes los contenedores, tus artículos, plugins y configuraciones no se perderán porque están respaldados en tu disco duro.
Paso 3: Desplegar la infraestructura
Con nuestro archivo guardado, viene el momento de la magia. Asegúrate de estar dentro de la carpeta del proyecto en tu terminal y ejecuta:
Bash
docker compose up -d
El parámetro -d (detached mode) hará que todo corra en segundo plano, liberando tu terminal. Verás cómo Docker descarga las imágenes (si no las tenías antes) y levanta los servicios en segundos.
Puedes verificar que ambos contenedores están vivos con el comando:
Bash
docker ps
Paso 4: La famosa instalación de WordPress en 5 minutos
Ahora abre tu navegador web preferido y entra a la siguiente dirección:
👉 http://54.243.20.32
¡Listo! Verás la pantalla de bienvenida oficial de WordPress.
- Selecciona tu idioma.
- Configura el título de tu sitio, crea tu usuario administrador y asigna una contraseña segura.
- Haz clic en Instalar WordPress.
¡Ya estás dentro! Tienes un panel de control completamente optimizado, limpio y corriendo sobre una infraestructura moderna de contenedores.
Conclusión y Próximos Pasos
Instalar WordPress con Docker Compose no solo te ahorra tiempo, sino que te acostumbra a trabajar con estándares profesionales de la industria. Si en el futuro deseas migrar este sitio a un servidor en la nube VPS, el proceso será tan sencillo como copiar tu archivo docker-compose.yml y tus volúmenes. La portabilidad es absoluta.