5 - Wordpress y Mysql - Docker compose
Vamos a levantar tanto un contenedor de wordpress como de MySQL con el siguiente archivo docker-compose.yml:
version: '3.8' services: mysql: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: examplepassword MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress network_mode: host # Utilizar la red del host wordpress: image: wordpress:latest environment: WORDPRESS_DB_HOST: 127.0.0.1 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress network_mode: host # Utilizar la red del host
Ahora al desplegar esto, tenemos la base de datos corriendo en nuestro localhost por el puerto 3306 y el wordpress por el puerto 80, donde si accedemos a este puerto, ya podremos acceder al wordpress:
Así como a la base de datos con el usuario wordpress y contraseña wordpress:
mysql -u wordpress -h 192.168.0.21 -pwordpress
Y vemos como la información se ha escrito correctamente dentro de la base de datos de wordpress:
WORDPRESS + MYSQL CON VOLÚMENES
Podemos hacer lo mismo pero creando volúmenes tanto para el wordpress como para la base de datos. Por lo que primero vamos a crear ambos directorios:
Y creamos el docker-compose.yml:
version: '3.8' services: mysql: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: examplepassword MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress network_mode: host # Utilizar la red del host volumes: - /home/mario/Escritorio/mysql_volumen:/var/lib/mysql wordpress: image: wordpress:latest environment: WORDPRESS_DB_HOST: 127.0.0.1 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress network_mode: host # Utilizar la red del host volumes: - /home/mario/Escritorio/wordpress_volumen:/var/www/html/wp-content
Desplegamos el docker-compose:
Y ya vemos como los volúmenes contienen la información de los contenedores:
Accedemos al puerto 80 y procedemos con la configuración:
Entramos como Mario:
Eliminamos los contenedores:
Y volvemos a desplegarlos:
Y vemos como la información persiste:
Y la base de datos también contiene la misma información:











