Crear un Docker Compose de WordPress y desplegar rápido y fácil un blog

Tiempo de lectura: 2 minutos

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

Deja un comentario