|
@@ -0,0 +1,78 @@
|
|
|
|
+version: "3"
|
|
|
|
+services:
|
|
|
|
+
|
|
|
|
+ redis:
|
|
|
|
+ image: redis:alpine
|
|
|
|
+ ports:
|
|
|
|
+ - "6379"
|
|
|
|
+ networks:
|
|
|
|
+ - frontend
|
|
|
|
+ deploy:
|
|
|
|
+ replicas: 1
|
|
|
|
+ update_config:
|
|
|
|
+ parallelism: 2
|
|
|
|
+ delay: 10s
|
|
|
|
+ restart_policy:
|
|
|
|
+ condition: on-failure
|
|
|
|
+ db:
|
|
|
|
+ image: postgres:9.4
|
|
|
|
+ volumes:
|
|
|
|
+ - db-data:/var/lib/postgresql/data
|
|
|
|
+ networks:
|
|
|
|
+ - backend
|
|
|
|
+ deploy:
|
|
|
|
+ placement:
|
|
|
|
+ constraints: [node.role == manager]
|
|
|
|
+ vote:
|
|
|
|
+ image: dockersamples/examplevotingapp_vote:before
|
|
|
|
+ ports:
|
|
|
|
+ - 5000:80
|
|
|
|
+ networks:
|
|
|
|
+ - frontend
|
|
|
|
+ depends_on:
|
|
|
|
+ - redis
|
|
|
|
+ deploy:
|
|
|
|
+ replicas: 1
|
|
|
|
+ update_config:
|
|
|
|
+ parallelism: 2
|
|
|
|
+ restart_policy:
|
|
|
|
+ condition: on-failure
|
|
|
|
+ result:
|
|
|
|
+ image: dockersamples/examplevotingapp_result:before
|
|
|
|
+ ports:
|
|
|
|
+ - 5001:80
|
|
|
|
+ networks:
|
|
|
|
+ - backend
|
|
|
|
+ depends_on:
|
|
|
|
+ - db
|
|
|
|
+ deploy:
|
|
|
|
+ replicas: 1
|
|
|
|
+ update_config:
|
|
|
|
+ parallelism: 2
|
|
|
|
+ delay: 10s
|
|
|
|
+ restart_policy:
|
|
|
|
+ condition: on-failure
|
|
|
|
+
|
|
|
|
+ worker:
|
|
|
|
+ image: dockersamples/examplevotingapp_worker
|
|
|
|
+ networks:
|
|
|
|
+ - frontend
|
|
|
|
+ - backend
|
|
|
|
+ deploy:
|
|
|
|
+ mode: replicated
|
|
|
|
+ replicas: 1
|
|
|
|
+ labels: [APP=VOTING]
|
|
|
|
+ restart_policy:
|
|
|
|
+ condition: on-failure
|
|
|
|
+ delay: 10s
|
|
|
|
+ max_attempts: 3
|
|
|
|
+ window: 120s
|
|
|
|
+ placement:
|
|
|
|
+ constraints: [node.role == manager]
|
|
|
|
+
|
|
|
|
+networks:
|
|
|
|
+ frontend:
|
|
|
|
+ backend:
|
|
|
|
+
|
|
|
|
+volumes:
|
|
|
|
+ db-data:
|