Notas de Luis

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:

computing/docker/docker_compose/5_creacion_de_wordpress_y_mysql_con_docker_compose.txt · Última modificación: por alfabeto