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: