WordPress está escrito en PHP y respaldado por una base de datos MySQL. Esto significa que utiliza la pila Linux, Apache, MySQL y PHP o LAMP. La arquitectura central de WordPress es modular, lo que proporciona amplias funciones y extensibilidad mediante complementos y temas.
Como desarrollador, es posible que se encuentre con la necesidad de ejecutar rápidamente una instancia de WordPress sin configurar todos los requisitos y herramientas del servidor. Aquí es donde entra Docker.
En este tutorial, aprenderemos cómo configurar rápidamente un WordPress básico usando Docker Compose y herramientas simples.
Requisitos
Para utilizar este tutorial, necesitará lo siguiente:
- Docker Engine instalado en su máquina host.
- Permisos suficientes para ejecutar contenedores Docker.
- Docker Compose instalado en su máquina.
- Conocimientos básicos para escribir y utilizar archivos de composición Docker.
Definición del archivo Docker Compose
Para que podamos ejecutar WordPress usando Docker Compose, necesitamos definir el archivo de redacción. Esto incluirá todas las herramientas y servicios que necesitamos para ejecutar WordPress.
Cree un nuevo archivo llamado docker-compose.yml.
$ tocar docker-compose.ymlEdite el archivo y agregue la configuración como se muestra:
servicios:
base de datos:
imagen: mysql:8.0.27
dominio: '--plugin-de-autenticación-predeterminado=contraseña_nativa_mysql'
volúmenes:
- db_data: / era / biblioteca / MySQL
reiniciar: siempre
ambiente:
- MYSQL_ROOT_PASSWORD =mysql
- BASE DE DATOS MYSQL = wordpress
- USUARIO_MYSQL = wordpress
- CONTRASEÑA_MYSQL = wordpress
exponer:
- 3306
- 33060
wordpress:
imagen: wordpress:último
puertos:
- 80 : 80
reiniciar: siempre
ambiente:
- WORDPRESS_DB_HOST =bd
- WORDPRESS_DB_USER = wordpress
- WORDPRESS_DB_PASSWORD = wordpress
- WORDPRESS_DB_NAME = wordpress
volúmenes:
datos_db:
En el Dockerfile anterior, tenemos la configuración dividida en las siguientes secciones. Cada sección realiza un conjunto específico de instrucciones.
La primera es la sección db. Esta sección le indica a Docker que realice las siguientes acciones:
- Utilice la imagen 'mysql:8.0.27'.
- Configure el complemento de autenticación predeterminado en 'mysql_native_password'.
- Monte un volumen llamado 'db_data' para almacenar datos MySQL de forma persistente.
- Reinicie el servicio automáticamente.
También definimos variables de entorno para la configuración de MySQL, incluida la contraseña de root, el nombre de la base de datos, el usuario y la contraseña de usuario.
Finalmente, exponemos los puertos 3306 y 33060 para conexiones de bases de datos.
En la sección de WordPress le indicamos a Docker que realice las siguientes acciones:
- Utiliza wordpress: última imagen.
- Asigne el puerto 80 en el host al puerto 80 en el contenedor para acceso web.
- Reinicie el servicio automáticamente.
También especificamos las variables de entorno para que WordPress se conecte a la base de datos MySQL, incluido el host de la base de datos, el usuario, la contraseña del usuario y el nombre de la base de datos.
Por último, configuramos los volúmenes de Docker para el almacenamiento de datos persistente.
Ejecutando los contenedores
Una vez que tengamos la configuración especificada a nuestro gusto, podemos proceder y ejecutar los contenedores y los servicios definidos en el archivo de redacción como:
$ ventana acoplable componer -dEsto debería generar todas las imágenes e iniciar los servicios como se define anteriormente.
Configurando WordPress
Una vez que todos los servicios estén funcionando, puedes dirigirte a la dirección http://localhost:80 para configurar su instancia de WordPress.
Conclusión
En este tutorial, cubrimos los conceptos básicos de cómo ejecutar rápidamente una instancia de WordPress en un contenedor Docker usando Docker Compose.