시놀로지 NAS에 Docker Portainer 설치 방법

시놀로지 NAS에 Docker Portainer 설치 방법

앞에서 시놀로지 NAS에 Container Manager를 이용하여 도커 컨테이너들을 쉽게 생성할 수 있었으나, Portainer 설치만은 예외로 container manager를 이용하여 설치할 수 없고, 별도의 방법을 이용하여 설치하여야 한다.

Portainer는 여러 Docker 이미지들을 쉽고 편하게 그래픽 방식으로 관리할 수 있게 도와주는 관리 도구라 많이들 사용하는데, 시놀로지에서 Portainer 만큼은 이렇게 설치할 수가 없었다. 위와 같은 방법으로 시도하면, 외형적으로는 이미지 다운로드가 되는 것 같고, 컨테이너도 만들어지는 것처럼 보였지만, 실제로는 설치가 되지 않았다.

시놀로지에서 Portainer를 설치하는 방법은 터미널을 이용하는 방법과, 시놀로지 자체 도구를 이용하는 방법 등 몇 가지가 알려져 있으나, 개인적으로는 복잡한 터미널 이용법 대신 따라 하기 쉬운 다음 방법을 가장 선호하기에 이를 소개한다.

Step 1. Portainer 설치용 폴더만들기

먼저 파일 매니저로 docker 공유 폴더 밑에 portainer라는 이름으로 빈 폴더를 하나 만든다.

Step 2. 1회성 Script 만들기

제어판의 작업 스케줄러를 이용하여, 1회 성 작업으로 사용자 스크립트를 만든다.

사용자 스크립트 생성창이 열리면 첫 번째 탭에 이름을 넣어주고

1회 성이므로 “반복하지 않음”을 선택해 준다.

그리고 실제 작업 내용인 작업 설정 탭에는 다음과 같이 스크립트를 지정해 준다.

만일 “실행 결과를 이메일로 보내기” 부분을 설정해 주면 실행 결과를 확인할 수 있어 좋다.

위의 사용자 정의 스크립트는 다음과 같다.

docker run -d --name=portainer 
-p 8000:8000 
-p 9000:9000 
-v /var/run/docker.sock:/var/run/docker.sock  
-v /volume1/docker/portainer:/data  
--restart=always 
portainer/portainer-ce

Step 3. 스크립트 실행

확인을 해주면, 작업 목록에 새로 생성한 항목이 마지막 부분에 추가(DSM 암호 확인이 있다) 되는데, 이 작업을 선택한 후, 상단의 “실행” 메뉴를 선택한다.

그러면 다음과 같은 확인창이 나오고, 설치가 진행된다.

Step 4. 결과 확인 및 접속

잠시 뒤, 지정해 둔 메일로 다음과 같이 설치가 성공했다는 메일을 받게 된다. (실패인 경우는 실패에 대한 내용 포함) 이 경우에는 portainer 이미지가 다운로드 되어 있지 않은 상황이라 해당 부분에 대한 내용도 포함되어 있으나, 설치 과정에서 알아서 자동으로 해당 이미지를 다운로드하고, 설치를 완료해둔다.

시놀로지 NAS의 ip 주소와 포트 번호 9000번을 이용해서 브라우저에서 접속하면 다음과 같이 portainer 초기 화면에 접속할 수 있다.

Step 5. portainer에 접속 IP 주소 설정

Portainer에 사용자 계정을 만들어 로그인하면, 첫 화면에서 다음 부분으로 들어가

NAS의 접속 IP를 각자 환경에 따라 설정해 주어야 한다.

이 부분을 올바르게 지정하지 않는 경우, connection error를 유발하므로 반드시 적절하게 지정해 주어야 한다.

Step 6. portainer 사용

이 이후의 portainer 사용은 portainer의 일반적인 사용법을 따르면 된다.

Portainer와 시놀로지 Container Manager 간에는 내용이 다음과 같이 실시간으로 반영되며, 한쪽에서 수정한 내용은 다른 쪽에도 반영되므로, 자신의 필요에 따라 시놀로지 Container Manager 화면과 Portainer 화면을 선택적으로 사용하면 된다.

그리고, portainer에서 Container 생성 시 connection refuse 나 DNS error가 발생하는 경우가 있다.

이러한 경우는 대체로, Portainer 내에서의 IP 주소 미지정에 의하거나, 접속 네트워크 환경에서 DNS 주소 미지정으로 인한 경우인 경우가 많다. DNS Error에 대해서는 다음을 참조한다.

https://blog.naver.com/mythee1/223089853772