Nginx with blue/green deployment working as reverse proxy. Http request with context /api will be forwarded to API_SERVICE_NAME - LIVE:API_SERVICE_PORT
LIVE=blue (blue/green)
API_SERVICE_NAME=api
API_SERVICE_PORT=8080
API_TIMEOUT=60
API_HEALTH_URI=/api/management/health
Mount volume to /app with index.html file. Set env LIVE to green.
docker-compose up -d backend-green
docker-compose up -d nginx
docker-compose pull backend-blue
docker-compose up -d backend-blue
docker-compose exec nginx ./alive
HEALTH_URI must return json: {"status": "UP"}
Change LIVE variable to blue
docker-compose up -d nginx
docker-compose stop backend-green
docker-compose exec nginx ./switch.sh green
version: '3.7'
services:
backend-green:
extends:
file: docker-compose.backend.yml
service: backend
backend-blue:
extends:
file: docker-compose.backend.yml
service: backend
nginx:
image: imeq/nginx
volumes:
- ./mypage:/app
ports:
- 80:80
environment:
- LIVE=green
- API_SERVICE_NAME=backend
- API_SERVICE_PORT=8080
Content type
Image
Digest
Size
12.6 MB
Last updated
over 4 years ago
docker pull imeq/nginx