Como crear un contenedor docker con Wordpress, MariadB y phpmyadmin
services:
# Servicio de Base de Datos (MariaDB)
db:
image: mariadb:latest # Imagen oficial de MariaDB
container_name: wordpress_db
restart: always # Reinicia automáticamente en caso de fallo
environment:
MYSQL_ROOT_PASSWORD: "contraseña" # 🔹 Cambia por una contraseña segura
MYSQL_DATABASE: "wordpress" # 🔹 Nombre de la base de datos a usar
MYSQL_USER: "wpuser" # 🔹 Nombre de usuario para WordPress
MYSQL_PASSWORD: "contraseña" # 🔹 Contraseña para el usuario de WordPress
volumes:
- /docker/wordpress/db_data:/var/lib/mysql # 🔹 Ruta donde se guardará la base de datos en el servidor
networks:
- wp_network # Conecta la base de datos con WordPress en una red interna
# Servicio de WordPress
wordpress:
image: wordpress:latest # Imagen oficial de WordPress
container_name: wordpress_site
restart: always
depends_on:
- db # Asegura que el servicio de base de datos se inicie primero
environment:
WORDPRESS_DB_HOST: "db:3306" # Conexión a la base de datos
WORDPRESS_DB_USER: "wpuser" # 🔹 Debe coincidir con el usuario de la DB
WORDPRESS_DB_PASSWORD: "contraseña" # 🔹 Debe coincidir con la contraseña de la DB
WORDPRESS_DB_NAME: "wordpress" # 🔹 Debe coincidir con el nombre de la DB
volumes:
- /docker/wordpress/wp_data:/var/www/html # 🔹 Ruta donde se guardarán los archivos de WordPress en el servidor
ports:
- "8080:80" # 🔹 Puerto donde estará accesible WordPress (http://IP_DEL_SERVIDOR:8080)
networks:
- wp_network # Conecta WordPress con la base de datos en la misma red
# phpMyAdmin para gestionar la base de datos
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: wp_phpmyadmin
restart: always
depends_on:
- db
environment:
PMA_HOST: "db"
MYSQL_ROOT_PASSWORD: "contraseña" # 🔹 Debe coincidir con la contraseña de MariaDB
ports:
- "8081:80" # 🔹 Acceder a phpMyAdmin en http://IP_DEL_SERVIDOR:8081
networks:
- wp_network
# Red interna para la comunicación entre WordPress y MariaDB
networks:
wp_network:
driver: bridge # Tipo de red: Bridge (predeterminada)
Check out more IT nuggets at www.ruizpelaez.com.