99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# WordPress con Docker Compose
|
|
|
|
Ejemplo básico de WordPress usando Docker Compose con MySQL y phpMyAdmin.
|
|
|
|
## 🚀 Inicio Rápido
|
|
|
|
### Requisitos
|
|
- Docker instalado
|
|
- Docker Compose instalado
|
|
|
|
### Instalación
|
|
|
|
1. **Clonar o descargar este proyecto**
|
|
|
|
2. **Iniciar los contenedores:**
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
3. **Acceder a WordPress:**
|
|
- Abre tu navegador en: http://localhost:8080
|
|
- Sigue el asistente de instalación de WordPress
|
|
|
|
4. **Acceder a phpMyAdmin (opcional):**
|
|
- Abre tu navegador en: http://localhost:8081
|
|
- Usuario: `root`
|
|
- Contraseña: `root_password`
|
|
|
|
## 📝 Configuración
|
|
|
|
### Cambiar puertos
|
|
Si los puertos 8080 o 8081 están ocupados, edita `docker-compose.yml`:
|
|
```yaml
|
|
ports:
|
|
- "TU_PUERTO:80" # Cambia TU_PUERTO por el que prefieras
|
|
```
|
|
|
|
### Cambiar credenciales
|
|
Edita las variables de entorno en `docker-compose.yml`:
|
|
- `MYSQL_PASSWORD`: Contraseña del usuario de WordPress
|
|
- `MYSQL_ROOT_PASSWORD`: Contraseña del root de MySQL
|
|
- `WORDPRESS_DB_PASSWORD`: Debe coincidir con `MYSQL_PASSWORD`
|
|
|
|
## 🛠️ Comandos Útiles
|
|
|
|
### Ver logs
|
|
```bash
|
|
docker-compose logs -f
|
|
```
|
|
|
|
### Detener contenedores
|
|
```bash
|
|
docker-compose down
|
|
```
|
|
|
|
### Detener y eliminar volúmenes (⚠️ borra los datos)
|
|
```bash
|
|
docker-compose down -v
|
|
```
|
|
|
|
### Reiniciar un servicio específico
|
|
```bash
|
|
docker-compose restart wordpress
|
|
```
|
|
|
|
### Ver contenedores en ejecución
|
|
```bash
|
|
docker-compose ps
|
|
```
|
|
|
|
## 📁 Estructura
|
|
|
|
```
|
|
.
|
|
├── docker-compose.yml # Configuración de servicios
|
|
├── wp-content/ # Temas y plugins personalizados (se crea automáticamente)
|
|
└── README.md # Este archivo
|
|
```
|
|
|
|
## 🔒 Seguridad
|
|
|
|
⚠️ **IMPORTANTE**: Este es un ejemplo básico para desarrollo. Para producción:
|
|
- Cambia todas las contraseñas por defecto
|
|
- Usa variables de entorno seguras
|
|
- Configura SSL/TLS
|
|
- Implementa un firewall
|
|
- Usa secrets de Docker o un gestor de secretos
|
|
|
|
## 🐳 Servicios Incluidos
|
|
|
|
- **WordPress**: Aplicación principal (puerto 8080)
|
|
- **MySQL 8.0**: Base de datos (puerto interno)
|
|
- **phpMyAdmin**: Administrador de base de datos (puerto 8081)
|
|
|
|
## 📚 Recursos
|
|
|
|
- [Documentación de WordPress](https://wordpress.org/support/)
|
|
- [Documentación de Docker Compose](https://docs.docker.com/compose/)
|