사전 준비
- 80 / 443 포트포워딩 된 NPM 서버
NPM이 아직 구축되지 않았다면 [Docker] Nginx Proxy Manager(NPM) 구축하기에서 NPM을 구축하고 오도록 하자.
NPM 구축이 완료되었다면 추가로 Reverse Proxy 대상인 dozzle(컨테이너 로그 조회 오픈소스) 이라는 앱을 올려볼거다.
저번 포스팅([Docker] Nginx Proxy Manager(NPM) 구축하기)에서 테스트해봤던 dozzle 앱이다.
version: "3"
services:
dozzle:
image: amir20/dozzle:latest
restart: always
container_name: dozzle
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
- "npm-net"
networks:
npm-net:
name: npm-net
external: true
도커 네트워크는 npm 앱이 속한 npm-net
네트워크로 지정해줬다.
host 등록하기
Dashboard -> Proxy Hosts로 이동하자.
여기서 필수 정보를 입력하자.
외부에서 접근할 때 사용할 도메인 이름 또는 서브도메인 필요.(DNS 등록 필요 // 가비아, 클라우드플레어 등등 ..)
나의 경우에는 dozzle 컨테이너의 내부 포트인 8080로 Proxy를 할 것이기 때문에 아래처럼 작성하였다.
💥 Container Port Powarding
위 같은 구성을 사용하려면 dozzle 컨테이너 및 NPM 컨테이너가 동일한 도커 네트워크에 속하여야 한다.
그 다음 가장 중요한 SSL 설정이다.
인증서를 발급 받을 것이기 때문에 'Request a new SSL certificate'를 선택해주자.
아래 옵션들은 SSL을 강조할 것인지 등의 설정이다.
하단의 'Use a DNS Challenge'의 경우 와일드카드 인증서를 받을 때 많이 사용된다. 여기서는 기본 인증으로 하겠다.
이제 완료 후 Save를 눌러주기만 하면 끝이다.