Zum Hauptinhalt springen
Version: 5.6

Docker Compose Beispiel für Redundanz Failover mit Nginx

Die auf der Seite Redundanz Failover mit Nginx beschriebenen Nginx-Konfigurationen können in Docker Compose verwendet werden, um ein OPC-Router-Redundanzpaar mit Failover bereitzustellen.

Die Dateien, die als Projekt verwendet werden, befinden sich auf der Seite HTTP(S)-Failover-Konzepte für REST, OPC UA Server & Web-Management im OPC Router.

Dieses Beispiel behandelt ausschließlich den externen Reverse Proxy für die Server-Endpunkte. Die interne Redundanz des OPC Routers muss separat auf Primär- und Sekundärdienst konfiguriert sein.

docker-compose.yaml
services:
nginx_plus:
# Nginx Plus
image: private-registry.nginx.com/nginx-plus/base:<Tag>
# Alternativ Nginx
# image: nginx:latest
restart: always
networks:
- opcrouter-net
ports:
- "5080:80"

environment:
# Nur für Nginx Plus erforderlich
- NGINX_LICENSE_JWT=<Nginx Lizenz JWT>
volumes:
# nginx.conf im Container verfügbar machen
- ./nginx.conf:/etc/nginx/nginx.conf:ro

opcrouter-primary:
image: opcrouter/service:latest
restart: always
networks:
- opcrouter-net
ports:
- "5085:8080"
environment:
- OR_I_ACCEPT_EULA=true
- INITIAL_USERNAME=admin
- INITIAL_PASSWORD=SuperSecret123
- OR_REDUNDANCY_MODE=primary
- OR_REDUNDANCY_LOCAL_MANAGEMENT_ADDRESS=http://opcrouter-primary:8080
- OR_REDUNDANCY_SHARED_KEY=LUyLxk4kZdvYW9kM6ZSBWbBatdj9RGow9Bp
- OR_IMPORT_SOURCE=/inray/REST_Primary.rpe
volumes:
# Projekt im Container verfügbar machen
- ../REST_Primary.rpe:/inray/REST_Primary.rpe

opcrouter-secondary:
image: opcrouter/service:latest
restart: always
networks:
- opcrouter-net
ports:
- "5086:8080"
environment:
- OR_I_ACCEPT_EULA=true
- INITIAL_USERNAME=admin
- INITIAL_PASSWORD=SuperSecret123
- OR_REDUNDANCY_MODE=secondary
- OR_REDUNDANCY_SHARED_KEY=LUyLxk4kZdvYW9kM6ZSBWbBatdj9RGow9Bp
- OR_REDUNDANCY_ADDRESS=http://opcrouter-primary:8080
- OR_REDUNDANCY_LOCAL_MANAGEMENT_ADDRESS=http://opcrouter-secondary:8080
- OR_REDUNDANCY_PRIMARY_TIMEOUT=30
- OR_REDUNDANCY_SECONDARY_HEARTBEAT_INTERVAL=10
- OR_IMPORT_SOURCE=/inray/REST_Secondary.rpe
volumes:
# Projekt im Container verfügbar machen
- ../REST_Secondary.rpe:/inray/REST_Secondary.rpe

networks:
opcrouter-net: