Hola y bienvenidos a DevCodeLight, hoy vamos a aprender cómo podemos desplegar un WordPress usando un Docker Compose que os voy a compartir a todos.
Lo primero que vamos a hacer es crear este archivo docker-compose.yml
version: "3.1" services: miservicio_mariadb_wp: image: mariadb restart: unless-stopped container_name: mariadb_container_wp environment: MYSQL_ROOT_PASSWORD: ${SQL_ROOT_PASSWORD} MYSQL_DATABASE: ${SQL_DATABASE} volumes: - ./config/mariadb:/var/lib/mysql expose: - 3306 ports: - 3306:3306 phpmyadmin_wp: image: phpmyadmin restart: unless-stopped container_name: phpmyadmin_container_wp ports: - 8080:80 environment: - PMA_ARBITRARY=1 links: - miservicio_mariadb_wp:db wordpress: image: wordpress restart: always container_name: wordpress ports: - 8000:80 environment: WORDPRESS_DB_HOST: miservicio_mariadb_wp WORDPRESS_DB_USER: ${SQL_USER} WORDPRESS_DB_PASSWORD: ${SQL_ROOT_PASSWORD} WORDPRESS_DB_NAME: ${SQL_DATABASE} volumes: - ./www:/var/www/html - ./logs:/var/log/apache2
Este Docker Compose tiene una imagen de MariaDB que usaremos para alojar nuestro .sql de WordPress.
Tiene un PHP MyAdmin que usaremos para acceder al entorno de MariaDB de nuestro WordPress por si lo necesitamos y además guardará dentro de config/mariadb la base de datos.
Y tiene una imagen oficial de WordPress que guardará en una carpeta www los archivos WordPress y en logs los logs de apache2.
Ahora creamos el .env con la configuración de las variables del Docker Compose.
SQL_USER=root SQL_ROOT_PASSWORD=123456 SQL_DATABASE=wordpress
Puse este de ejemplo, sustituye por variables más seguras.
Recomiendo además crear este .gitignore si usamos git.
.env config logs
La estructura final es la siguiente:
Y bien, ahora podemos arrancar nuestro docker compose usando este comando:
docker compose up -d
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.