Proyecto para crear un blog con wordpress con Docker.
Architecture | Tag |
---|---|
fpm | wordpress:fpm |
fpm-alpine | wordpress:fpm-alpine |
Enlaces a la documentación oficial de wordpress:
* Un blog usando la imagen oficial de WordPress.Creamos los directorios donde se montarán los volúmenes de persistencia
mkdir /patch/to/data/wordpress/wordpress
mkdir /patch/to/data/wordpress/mysql
mkdir /patch/to/data/wordpress/redis
Directorios:
- files Contendrá los archivos almacenados en nuestra nube. También contendrá los ficheros de configuración, ficheros de las aplicaciones instaladas, etc. Es importante realizar una copia de seguridad de este directorio/volumen de persistencia.
- mysql Contendrá la totalidad de ficheros de nuestra base de datos MySQL.
- redis Contiene las bases de datos que genera el servidor Redis. Obviamente también es interesante realizar una copia de seguridad de este directorio.
- backup Las copias de seguridad de la base de datos. En caso de utilizar un volumen llamado
/backup
, puede realizar una copia de seguridad de la base de datos y almacenarla en este directorio tan solo tenéis que ejecutar el comandosudo docker-compose exec db backup
-
Supported architectures: amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-
Imágenes recomendadas: fpm-alpine, php8.0-fpm-alpine, wordpress:latest
Creada la red interna, ya podemos levantar el contenedor
docker network create wordpress_internal
En la misma ubicación que hemos indicado la carpeta WordPress, descargamos el docker-compose.yml
Y creamos el archivo de configuración .env con la configuración del archivo .env 📦
touch .env
nano .env
Cuando se abra el editor de texto configuraremos la configuración del archivo con el dominio, la password, la database y el usuario.
Las variables de entorno de configuración del archivo .env
y modificamos los volúmenes del docker-compose.yml
:
variables de entorno de configuración del archivo .env
:
HOST_DOMAIN=domain.com
DATABASE=wordpress
PASSWORD=password
USER=user
ROOT_PASSWORD=password
Levantamos el contenedor con:
docker-compose up -d
Una vez ejecutado el comando se descargarán las imagenes del docker-compose, se crearán y levantarán los contenedores.
Si ya hemos descargado las imagenes previamente, sólo se crearán y levantarán los contenedores.
Una vez hecho esto, tienes que instalar un plugin para WordPress que te permite interaccionar con Redis. Este plugin o complemento se llama Redis Object Cache.
Una vez lo tengas configurado y levantado, hay trabajo que realizar. Tienes que editar el archivowp-config.php
y añadir los siguientes parámetros en el archivo:
define('WP_REDIS_HOST', 'wpredis');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
Una vez instalado, tienes que acceder a su configuración y habilitarlo para que entre en funcionamiento. Comprueba que todos los parámetros que te devuelve son correctos y que todo funciona como se espera.
- Vemos todos los contenedores:
docker-compose logs -f
- Acceso al contenedor
docker exec -u root -t -i wordpress /bin/bash
Con el contenedor levantado tan solo tenemos que abrir el navegador web e ingresar a la URL que hemos indicado en el docker compose. Una vez ingresadas la credenciales tendremos acceso al panel de control. Fíjense que estamos accediendo de forma segura mediante https y TLS.