services: db: image: mysql:5.7 # Mantenim una rèplica per evitar corrupció de les dades # En un entorn real tirariem d'un servei especific deploy: replicas: 1 restart_policy: condition: on-failure placement: constraints: - node.labels.role == worker environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress volumes: - db_data:/var/lib/mysql networks: - wp_net wordpress: image: wordpress:latest ports: - 8080:80 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: # Important: En un cluster real multi-node, això de ser un volum compartit (NFS) - wp_data:/var/www/html networks: - wp_net deploy: replicas: 3 restart_policy: condition: on-failure placement: constraints: - node.labels.role == worker volumes: db_data: wp_data: networks: wp_net: driver: overlay