Sign inSign up

imeq/nginx

By imeq

Updated over 4 years ago

Nginx with blue/green deployment support.

Image
0

2.0K

imeq/nginx repository overview

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

Default values:

LIVE=blue (blue/green)
API_SERVICE_NAME=api
API_SERVICE_PORT=8080
API_TIMEOUT=60
API_HEALTH_URI=/api/management/health

How to use it:

Mount volume to /app with index.html file. Set env LIVE to green.

docker-compose up -d backend-green
docker-compose up -d nginx
Update image
docker-compose pull backend-blue
docker-compose up -d backend-blue
Wait for backend service

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
Switch api manually

docker-compose exec nginx ./switch.sh green

Example docker compose

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


Tag summary

Content type

Image

Digest

Size

12.6 MB

Last updated

over 4 years ago

docker pull imeq/nginx