본문 바로가기

라즈베리파이

OMV5 (OpenMediaVault 5)에 docker와 portainer 설치하기

OpenMediaVault는 Synology와 같은 상용 NAS에 비해 플러그인이 매우 부족하다. NAS 시스템을 다양하게 운영하고 싶지만 적당한 플러그인이 없다면 단순한 파일 공유 서버밖에 되지 않을 것이다.

 

docker는 이런 아쉬움을 해결해 줄수 있는 수단이다. 그리고, 다행히도 OMV에서 docker를 제공한다.

 

그럼 docker란 무엇인가? 가상 머신과 비슷한 개념이다.  우리가 흔히 알고 있는 VMWare나 Virtual Box 혹은 QEMU 처럼 완벽한 가상화를 지원하지는 않으나, 다양한 프로그램을 실행할 수 있는 가상 명령 처리 체계를 지원한다. 그리고 docker에서 동작하는 프로그램이 생각보다 무궁 무진하게 많다.

 

따라서, OMV에서 지원하지 않는 기능이 있더라고 docker에서 동작하는 다양한 프로그램을 실행할 수 있다.

 

그럼 또 portainer는 무엇일까? portainer는 docker를 웹에서 실행할 수 있도록 해주는 웹 인터페이스이다. 즉, 웹 기반 docker 명령 처리기 정도로 이해하면 될 것이다.

 

1. docker 설정 및 설치

1-1 docker storage 설정

OMV 관리자 페이지에서 "시스템"의 "OMV-Extras" 메뉴를 선택하고 "Docker" 탭을 클릭하면 아래와 같은 화면이 나온다. 이때, Docker Storage의 기본 경로가 "/var/lib/docker"로 되어 있는데, 이 경로는 MicroSD 카드의 저장 영역이다.

지속적인 SD카드 엑세스 및 docker 사용으로 인한 메모리 초과 등이 걱정된다면 이 경로를 외장형 HDD로 교체해 주는 것도 좋을 것이다. 만일, 바꿀 필요가 없다면 그냥 놔두어도 괜찮다.

 

우선 HDD에 "Docker Storage" 저장 공간을 마련하려면 아래 그림처럼 "공유 폴더" 메뉴에서 "추가" 버튼을 클릭한다.

 

그리고 "docker"라는 이름으로 새로운 공유 폴더를 만들어 준다.

 

그리고 "적용" 및 "예" 버튼 클릭.

 

지금 만든 공유 폴더(docker)는 라즈베리파이에 SSH로 접속해서 보면 "/srv/dev-disk-by-label-HDD/docker" 폴더로 생성된다.  이 경로가 "Docker Storage" 위치가 될 것이다.

참고로, 여기서 "dev-disk-by-label-HDD"는 "HDD"는 외장형 HDD를 포맷할때 볼륨 레이블로 지정한 이름이다. 따라서, 다른 볼륨 레이블로 만든 경우 폴더 위치가 바뀔 가능성이 높으니 SSH로 접속해 정확한 패스를 확인하는 것도 좋을 것이다.

 

또 하나, 왜 공유 폴더 생성만 하고 SMB에서 공유는 하지 않을까 의아할 수 있다. 공유 폴더를 생성하고 "Docker Storage"로 설정하고 docker를 설치하면 해당 폴더의 접근 권한이 "rwxrwsrwx" 에서 "rwx--x--x"로 바뀌어져 버린다.

무슨 얘기냐면, 아래 그림처럼 SMB 공유 폴더 접근이 되지 않는다. 그렇기 때문에 굳이 SMB로 공유할 필요가 없다.

 

하여튼, 아까 확인한 폴더의 경로로 "Docker Storage" 값을 변경하고 "저장" 버튼을 클릭한다.

 

1-2 docker 설치

이제 부터는 처리가 간단하다. 아래 그림처럼 "Docker"-"설치" 버튼을 클릭하는 것으로 설치가 완료된다.

 

완료 메시지 확인후 "닫기" 버튼을 클릭한다.

 

설치가 완료되면 아래처럼 docker가 동작하고 있다는 메시지와 함께 버전 정보가 표시된다.

 

그리고, 아까 만든 폴더 밑에도 여러가지 폴더가 새로 생성된것을 확인 할 수 있다. 물론, 굳이 확인을 안해도 상관 없다.

 

2. Portainer 설치 및 접속

2-1. Portainer 설치

Portainer 설치도 동일 탭에서 "Portainer"-"설치" 버튼 클릭만으로 끝이다.

 

아래처럼 완료 메시지 후 "닫기" 버튼을 클릭한다.

 

2-2. Portainer 접속

아래 그림은 Portainer 설치가 완료된 상태이다. "Open web" 버튼을 클릭하면 Portainer 관리 페이지에 접속할 수 있다.

 

최초 접속시에는 아래처럼 "admin"의 비밀번호를 설정한다.

 

그리고, "Local"을 선택하고 "Connect" 버튼을 클릭한다.

 

아리와 같은 그림이 나오면 Portainer 설치가 완료된 것이다.