<aside> 💻
Autor: Miguel Campo Fuentes
Módulo: SRC (Servicios en Red de 2ºSMR)
Realizado el 11 de febrero de 2025
</aside>
https://github.com/migue802/WordPress-Docker-Fast-Configuration
<aside> 📜
WordPress en NGINX usando Docker Compose © 2026 by Miguel Campo is licensed under CC BY-NC-SA 4.0
</aside>
Este proyecto tiene como objetivo simplificar y acelerar la configuración de WordPress mediante el uso de contenedores Docker y NGINX, reduciendo significativamente el número de pasos necesarios en comparación con la instalación y configuración tradicional en un servidor físico.
Esta solución busca facilitar la escalabilidad del sistema y proporcionar un entorno óptimo para el desarrollo local de WordPress, permitiendo a los desarrolladores desplegar rápidamente instancias de WordPress de manera consistente y reproducible.
El proyecto surge como parte de un trabajo de Formación Profesional, con el propósito de demostrar las ventajas de la contenerización en el despliegue de aplicaciones web, en particular en el ecosistema de WordPress.
NGINX: Es un servidor web/proxy inverso ligero de alto rendimiento, sucesor indirecto de Apache. Este va a alojar y procesar los archivos PHP de WordPress.
WordPress: WordPress es un sistema de gestión de contenidos enfocado a la creación de cualquier tipo de página web. La imagen contiene los binarios de PHP-FPM, su configuración, y por supuesto, los archivos PHP de este.
MariaDB: Es un sistema de gestión de bases de datos derivado de MySQL. La imagen contiene los binarios, y en un volumen almacenaremos las bases de datos generadas por WordPress.
Se considerará que el instalador tenga previamente instalado Git, Docker (o Docker Desktop), y NGINX; y tenga conocimientos previos de los antes mencionados.
git clone <https://github.com/migue802/WordPress-Docker-Fast-Configuration>
cd WordPress-Docker-Fast-Configuration
.env.example a .env, y modificar las siguientes variables:
MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD ****se deben reemplazar con valores aleatorios o a discreción del instalador. Bajo ningun concepto debe dejarlos por defecto por motivos de seguridad, a no ser que vaya a realizar una prueba local.MYSQL_RANDOM_ROOT_PASSWORD y MYSQL_ROOT_PASSWORD no deberían ser modificados. Sin embargo, si urge la necesidad de acceder a la BD por algún motivo, establecer MYSQL_RANDOM_ROOT_PASSWORD a 0, descomentar y modificar MYSQL_ROOT_PASSWORD en el archivo .env, y descomentar en archivo compose.yaml.
Existe una herramienta en el compose.yaml llamada “adminer” que se puede descomentar para poder ser usada. Es similar a phpMyAdmin pero más ligero.compose.yaml:nginx:
image: nginx:alpine
...
ports:
- 8080:80
# El puerto izquierdo es el que será expuesto desde el Host, modificar si es necesario.