github.com/ijc/docker-app@v0.6.1-0.20181012090447-c7ca8bc483fb/examples/voting-app/voting-app.dockerapp/docker-compose.yml (about)

     1  version: "3.2"
     2  services:
     3  
     4    redis:
     5      image: redis:alpine
     6      ports:
     7        - "6379"
     8      networks:
     9        - frontend
    10      deploy:
    11        replicas: 1
    12        update_config:
    13          parallelism: 2
    14          delay: 10s
    15        restart_policy:
    16          condition: on-failure
    17  
    18    db:
    19      image: postgres:9.4
    20      volumes:
    21        - db-data:/var/lib/postgresql/data
    22      networks:
    23        - backend
    24      deploy:
    25        placement:
    26          constraints: [node.role == manager]
    27  
    28    vote:
    29      image: ${vote.image.name}:${vote.image.tag}
    30      ports:
    31        - ${vote.port}:80
    32      networks:
    33        - frontend
    34      depends_on:
    35        - redis
    36      deploy:
    37        replicas: ${vote.replicas}
    38        update_config:
    39          parallelism: 2
    40        restart_policy:
    41          condition: on-failure
    42  
    43    result:
    44      image: ${result.image.name}:${result.image.tag}
    45      ports:
    46        - ${result.port}:80
    47      networks:
    48        - backend
    49      depends_on:
    50        - db
    51      deploy:
    52        replicas: ${result.replicas}
    53        update_config:
    54          parallelism: 2
    55          delay: 10s
    56        restart_policy:
    57          condition: on-failure
    58  
    59    worker:
    60      image: ${worker.image.name}:${worker.image.tag}
    61      networks:
    62        - frontend
    63        - backend
    64      deploy:
    65        mode: replicated
    66        replicas: ${worker.replicas}
    67        labels: [APP=VOTING]
    68        restart_policy:
    69          condition: on-failure
    70          delay: 10s
    71          max_attempts: 3
    72          window: 120s
    73        placement:
    74          constraints: [node.role == manager]
    75  
    76    visualizer:
    77      image: ${visualizer.image.name}:${visualizer.image.tag}
    78      ports:
    79        - ${visualizer.port}:8080
    80      stop_grace_period: 1m30s
    81      volumes:
    82        - "/var/run/docker.sock:/var/run/docker.sock"
    83      deploy:
    84        placement:
    85          constraints: [node.role == manager]
    86  
    87  networks:
    88    frontend:
    89    backend:
    90  
    91  volumes:
    92    db-data: