Rancher 에서 복수개의 컨테이너 관리를 할수 있지만, 도메인 규칙에따라 컨테이너에 연결하는 기능은 포함되어 있지않다.
로드 밸런싱이 포함하여 이러한 기능은 하드웨어 혹은 소프트웨어 레벨에서 처리할수 있으며 ( 하드웨어 레벨 L5 , 소프트웨어 레벨 L7 으로 구분되기도 한다.)
L5에 대표적인 솔류션으로 BigIP가 있으며 L7에는 Nginx/Haproxy 등이 있다. AWS에서는 ELB 가 제공되기도 한다.
여기서는 온프레미스에서 소규모 네트워크이기때문에 Nginx 에 Admin기능을 입힌 Nginx Proxy Manager를 사용할것이다.
Nginx Proxy Manager
version: '2' services: nginx: image: jlesage/nginx-proxy-manager restart: always volumes: - /docker/appdata/nginx-proxy-manager:/config:rw ports: - 8080:8181/tcp - 8081:8080/tcp labels: io.rancher.scheduler.affinity:host_label: server=main io.rancher.container.hostname_override: container_name
초기 계정
- Email address:
admin@example.com
- Password:
changeme
https://github.com/jlesage/docker-nginx-proxy-manager