Configuración de docker compose para wordpress con mysql y persistencia de datos.

El ejemplo para el fichero docker-compose.yaml contiene el código para crear un servidor wordpress que se conecta con su base de datos en mysql y que guarda los datos en la ruta /home/usuario/miDocker/wordpress/ de la máquina anfitrion. El acceso a wordpress se hace usando http;//127.0.0.1:8080 y pedirá los datos para la configuración de dicho servidor (idioma, usuario y contraseña para el nuevo administrador) y dirección de correo del mismo.


version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - type: volume
        source: wordpressHtml
        target: /var/www/html
      - type: volume
        source: wpPhp
        target: /usr/local/etc/php

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - type: volume
        source: dbData
        target: /var/lib/mysql

volumes:
  wordpressHtml:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /home/usuario/miDocker/wordpress/wordpressHtml
  dbData:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /home/usuario/miDocker/wordpress/dbdata
  wpPhp:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /home/usuario/miDocker/wordpress/wpPhp