Instalar WordPress con Docker

En esta nueva entrega vamos a detallar el paso a paso para instalar WordPress, con Apache y MySQL, en un entorno de contenedores con Docker.

Antes de empezar, tenemos que validar que tenemos instalado Docker en nuestro servidor. Si no lo tenemos, podemos hacer uso de la guía de instalación que podéis encontrar en mi blog.

Antes de empezar, vamos a crear en nuestro servidor un par de carpetas para alojar en local los datos de nuestro proyecto.

mkdir ~/miwordpress
cd ~/miwordpress

MySQL con Docker

Lo primero, necesitamos disponer de una base de datos. Hay contenedores para la mayoría de bases de datos (MariaDB, PostgreSQL, etc…) pero en este caso vamos a utilizar el de MySQL.

En nuestro caso, vamos a utilizar la imagen latest almacenada en Docker Hub. En este momento es la 8.0.29-debian.

Podemos lanzar la instalación con el siguiente comando:

docker run --name mimysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=wordpress -v "$PWD/database":/var/lib/mysql -d mysql:latest

A continuación se descargara la imágenes y procederá con la ejecución.

docker run mysql

En este comando le hemos indicado los siguientes parámetros:

ParámetroFunción
–nameNombre del contenedor
-e MYSQL_ROOT_PASSOWORDContraseña del usuario root de la base de datos MySQL
-e MYSQL_DATABASENombre de la base de datos
-v «$PWD/database»:/var/lib/mysqlMontar un directorio local dentro del contenedor. El primer directorio es el local (el servidor donde corren los contenedores) y el segundo es la ruta en el propio contenedor.
-d Opción «detached» para que corra el contenedor en segundo plano.
mysql:latestImagen que vamos a utilizar del repositorio de Docker Hub

Una vez terminada la ejecución del pod, podemos validar que nuestro contenedor está iniciado correctamente ejecutando docker ps.

docker ps con mysql

Con esto, ya tenemos nuestra base de datos preparada y podemos proceder con la instalación de WordPress.

WordPress con Docker

Por último, vamos a utilizar la imagen oficial de WordPress que podemos encontrar en Docker Hub. Para ejecutarla, utilizaremos los siguientes comandos:

docker run -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=my-secret-pw --name wordpress --link mimysql:mysql -p 80:80 -v "$PWD/html":/var/www/html -d wordpress
docker run wordpress

En este comando, hemos utilizado los siguientes parámetros:

ParámetroFunción
-e WORDPRESS_DB_USERIndicamos el usuario de la base de datos MySQL.
-e WORDPRESS_DB_PASSWORD
Indicamos la contraseña de la base de datos MySQL.
–nameNombre del contenedor.
–link mimysql:mysqlPermitimos la conexión entre ambos el pod de WordPress y el pod de MySQL.
-p 80:80Habilitamos el acceso por el puerto 80 desde el exterior.
-v «$PWD/html»:/var/www/htmlMontar un directorio local dentro del conector. El primer directorio es el local (el servidor donde corren los contenedores) y el segundo es la ruta en el propio contenedor.
-dOpción «detached» para que corra el contenedor en segundo plano.
wordpressImagen que vamos a utilizar del repositorio de Docker Hub.

Como en el caso anterior, podemos validar con docker ps que nuestros contenedores están corriendo correctamente.

docker ps con WordPress y Mysql

Para acceder a nuestro WordPress, abrimos cualquier navegador y accedemos a http://localhost y se nos debería mostrar el configurador para finalizar la instalación de nuestro WordPress.

Instalador de wordpress

Modificando algunos parámetros, como el puerto, los nombres o los directorios locales, podríamos disponer de varios entornos de WordPress ejecutándose en nuestro mismo equipo.

¡Comentadme si os ha funcionado!

1 comentario en «Instalar WordPress con Docker»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.