Docker swarm wordpress


version: "3"

services:
  wordpress:
    image: wordpress
    ports:
      - "80:80"
    networks:
      - town
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=root
      - WORDPRESS_DB_PASSWORD=toor
      - WORDPRESS_DB_NAME=wordpress
    deploy:
      placement:
        constraints: [node.role == worker]
      mode: replicated
      replicas: 1
      labels: [APP=wordpress]
      resources:
        # Hard limit - Docker does not allow to allocate more
        limits:
          cpus: '0.25'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      # service update configuration
      update_config:
        parallelism: 1
        delay: 10s
        failure_action: continue
        monitor: 60s
        max_failure_ratio: 0.3

  db:
    image: mysql
    volumes:
      - db-data:/var/lib/postgresql/data
    ports:
      - '3306:3306'
    networks:
      - town
    environment:
      - MYSQL_ROOT_PASSWORD=toor
      - MYSQL_DATABASE=wordpress
    deploy:
      placement:
        constraints: [node.role == worker]
      mode: replicated
      replicas: 1
      labels: [APP=wordpress]
      resources:
        # Hard limit - Docker does not allow to allocate more
        limits:
          cpus: '0.25'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      # service update configuration
      update_config:
        parallelism: 1
        delay: 10s
        failure_action: continue
        monitor: 60s
        max_failure_ratio: 0.3
networks:
    town:

volumes:
  db-data: