diff --git a/docker-stack.yml b/docker-stack.yml new file mode 100644 index 0000000..2c30529 --- /dev/null +++ b/docker-stack.yml @@ -0,0 +1,76 @@ +version: "3" +services: + + redis: + image: redis:alpine + ports: + - "6379" + networks: + - front-tier + deploy: + replicas: 2 + update_config: + parallelism: 2 + delay: 10s + restart_policy: + condition: on-failure + db: + image: postgres:9.4 + volumes: + - db-data:/var/lib/postgresql/data + networks: + - back-tier + deploy: + placement: + constraints: [node.role == manager] + vote: + image: dockersamples/examplevotingapp_vote + ports: + - 5000:80 + networks: + - front-tier + depends_on: + - redis + deploy: + replicas: 2 + update_config: + parallelism: 2 + restart_policy: + condition: on-failure + result: + image: dockersamples/examplevotingapp_result + ports: + - 5001:80 + networks: + - back-tier + depends_on: + - db + deploy: + replicas: 2 + update_config: + parallelism: 2 + delay: 10s + restart_policy: + condition: on-failure + + worker: + image: dockersamples/examplevotingapp_worker + networks: + - front-tier + - back-tier + deploy: + mode: replicated + replicas: 1 + labels: [APP=VOTING] + restart_policy: + condition: on-failure + delay: 10s + max_attempts: 3 + window: 120s + +networks: + front-tier: + back-tier: + +volumes: + db-data: