SSE-Lab/dockerized/simple_site/docker-compose.yaml

62 lines
1.0 KiB
YAML

version: '3'
networks:
cluster:
external: false
services:
# 3 versions of the same app responding to host's 3001-3
app1:
build: .
environment:
- APP_NAME=App1
ports:
- "3001:3000"
networks:
- cluster
app2:
build: .
environment:
- APP_NAME=App2
ports:
- "3002:3000"
networks:
- cluster
app3:
build: .
environment:
- APP_NAME=App3
ports:
- "3003:3000"
networks:
- cluster
# --- NGINX ---
nginx:
image: nginx:latest
ports:
- '8088:80'
deploy:
replicas: 4
update_config:
parallelism: 2
order: start-first
failure_action: rollback
delay: 10s
rollback_config:
parallelism: 0
order: stop-first
restart_policy:
condition: any
delay: 5s
max_attempts: 3
window: 120s
healthcheck:
test: ["CMD", "service", "nginx", "status"]
networks:
- cluster