Ubuntu 20.04 서버 셋팅의 마지막 가이드가 될것 같습니다.

앞서 NPM에 Proxy Host 등록했던 과정을 한번 더 Portainer로 실습해 보겠습니다.

 

Tip. 리눅스 console에서 command 실행 결과는 "접은글"로 숨겨 놓았습니다.
      실행 결과에 대한 참고가 필요한 경우 "더보기"를 클릭해서 확인 할 수 있습니다.

Tip. vim 편집 내용은 표로 정리 하였는데, 표 안의 // 주석은 편집해야할 위차나 설명이니
      // 까지 함께 copy & paste 하시면 에러 날 수 있으니 잘 필터링 해주세요.

 

 

3-3. Portainer 설치 및 Proxy Host 등록

1) 컨테이너 볼륨 디렉토리 생성

// 도커 NPM 설치 경로 생성

  • $ mkdir -pv ~/docker/portainer/
  • $ cd ~/docker/portainer/

// 볼륨 경로 생성

  • $ mkdir -pv ./volume/data

 

 

2) docker compose 작성

  • $ cd ~/docker/portainer/
  • $ vim docker-compose.yml
# https://hub.docker.com/r/portainer/portainer-ce

version: '3'
services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock'
      - '~/docker_service/portainer/volume/data:/data'
# Do not need to open ports if container use same docker network with NPM
#    ports:
#      - '9000:9000'        # admin page

# Use same docker network with Nginx Proxy Manager
networks:
  default:
    external:
      name: nginx-proxy-manager

Tip. 앞서 설정한 NPM과 동일한 "nginx-proxy-manager" docker network를 사용할 경우
       ports 에 포트 오픈을 명시할 필요가 없어 # 주석 처리해 두었습니다.
       NPM 에서는 portainer service 이름으로 Proxy Host 연동이 가능하기 때문입니다.

주의! 만약 NPM과 동일한 "nginx-proxy-manager" docker network를 사용하지 않는 환경이라면
       이전에 알려진 방식대로 ports: 에 필요한 포트를 명시하여 포트포워딩 설정을 해주셔야 합니다.

 

 

3) docker container 실행

  • $ sudo docker-compose up -d
  • $ sudo docker-compose ps
더보기

~/docker/portainer$ sudo docker-compose up -d
Pulling portainer (portainer/portainer-ce:latest)...
latest: Pulling from portainer/portainer-ce
772227786281: Pull complete
96fd13befc87: Pull complete
b3238bddfe78: Pull complete
Digest: sha256:3ff080a0cd2a45bd0bde046069973b3fe642c3e4d43c5b429dd7b77f0057c7d7
Status: Downloaded newer image for portainer/portainer-ce:latest
Creating portainer ... done

~/docker/portainer$ sudo docker-compose ps
  Name       Command     State              Ports
-------------------------------------------------------------
portainer   /portainer   Up      8000/tcp, 9000/tcp, 9443/tcp

 

 

4) NPM 관리 페이지를 Proxy Host 등록

* START -> NPM 관리페이지 접속 -> [Dashboard] -> [Proxy Hosts] -> 1) [Add Proxy Host]

-> [Details] 탭 -> 2), 3), 4), 5), 6), 7) 정보 입력
    - 2) Domain Names : "portainer.test1234.duckdns.org" 입력
    - Scheme : "http" 선택 (기본값)
    - 3) Forward Hostname / IP : "portainer" 입력 (docker-compose.yml 의 services: portainer: ​매칭)
    - 4) Forward Port : "9000" 입력
    - 5) "Cache Assets" 체크
    - 6) "Block Common Exploits" 체크
    - 7) "Websockets Supports" 체크

-> [SSL] 탭 -> 8), 9), 10), 11), 12), 13) 정보 입력 -> 14) [Save] -> Proxy Host 등록 완료
    - 8) SSL Certificate : "Request a new SSL Certificate" 선택
    - 9) "Force SSL" 체크
    - 10) "HTTP/2 Support" 체크
    - 11) "HSTS Enabled"  체크
    - 12) "HSTS Subdomains" 체크
    - 13) "I Agree to the Let's Encrypt Terms of Service" 체크

-> Proxy Host 등록 후 -> 15) 주소 클릭 -> https://portainer.test1234.duckdns.org 접속 확인 -> END

 

 

5) Portainer 관리자 계정 등록

* START -> Portainer 설치후 첫 접속시 -> 관리자 계정 등록 페이지 표시됨
-> 16) 관리자 계정 ID/PW 입력 -> 17) [Create user]

-> 16) [Get Started] 

-> Home 메뉴 진입됨 -> 19) local 선택

-> 앞서 설치한 npm_jc21, portainer 컨테이너 확인 -> END

 

 

1부는 Ubuntu 20.04 가상 머신을 만드는 과정이었고, 2부~3부를 따라오셨으면
Ubuntu 20.04 서버에 Nginx Proxy Manager와 Portainer가 설치되고
각각 Proxy Host 와 SSL 인증서 적용되어 https:// 로 보안 경고없이 잘 접속 되실거라 예상됩니다.

앞으로 각자 필요한 docker 서비스를 추가로 설치하면서 Proxy Host 등록해 주시면 됩니다.

그동안 긴 가이드 따라하시느라 수고 많으셨습니다.

이상으로 가이드를 마치겠습니다.

 

FINISH

 

PS. 본 포스팅이 도움이 되셨다면 소중한 리플로 후기 공유해주세요. 광고 클릭도 큰 도움이 됩니다.

 

+ Recent posts