저는 시놀로지 나스를 주로 사용하고 있으니까..
시놀로지 중심으로 진행하겠습니다..🙄
도커를 접하다 보면 수많은 컨테이너들이 있다는 걸 아실 겁니다.
이 컨테이너들 중 도커를 직접 관리할 수 있는 컨테이너(프로그램)가 있는데, 가장 1순위로 설치하시는 걸 추천드립니다.
왜냐하면, 컨테이너를 관리(설치하거나 삭제하는 등) 할 때 대부분 SSH 등으로 하는 게 일반적일텐데, 이런 프로그램을 이용하면 웹 UI로 손쉽게 관리할 수 있기 때문이죠.
” 나스 처음 접하다 보면 SSH 이런 거 어렵잖아요?!”
“저만 그랬던 건가요?! ” 😧
아무튼 도커 관리 프로그램도 여러 가지 있겠지만, 저는 Portainer를 추천드리며, 초보자(시놀로지 처음 접하시는)분들에 맞는 설치 방법을 공유해 볼까 합니다.
준비
- 패키지 센터에서 Docker 와 텍스트 편집기를 찾아 설치해 줍니다.

- 바탕화면에서 쉽게 접근할 수 있도록 단축 아이콘도 만들어 줍시다.
- 좌측 상단의 메인메뉴 버튼을 눌러 줍니다.

- Docker 아이콘에 마우스 오른쪽 버튼 클릭 > 바탕화면에 추가
- 텍스트 편집기도 똑같이 바탕화면에 아이콘을 추가해 줍니다.

설치
- Docker를 실행해 봅시다.

- ‘Docker 시작‘ 알림 창을 보며 가슴이 웅장해지는 걸 살짝 느껴봅시다.
- 왼쪽 메뉴 중 레지스트리로 들어가 portainer-ce 를 검색 후
‘portainer / portainer-ce‘를 더블클릭을 합니다.
(오른쪽의 사각형에 화살표가 그려진 아이콘을 눌러 보면, 관련 매뉴얼도 보실 수 있습니다.)

- 태그를 선택하라고 나오는데 latest를 선택하여 줍니다.
(버전(version)과 동일하며, latest는 가장 최근 버전을 의미합니다.)
- 일정 시간이 지나고 이미지로 들어가 보면 다운로드된 것을 확인할 수 있습니다.

대략적으로 “레지스트리”는 스마트폰의 Appstore 나 플레이스토어라고 생각하시면 되고, “이미지”는 앱의 설치 파일이라고 보시면 됩니다.
- 다운로드한 이미지를 더블 클릭해줍니다.
- 컨테이너 이름을 원하는 대로 적어줍니다. (예: portainer)

- 고급 설정 클릭
- 자동 재시작 활성화 체크

- 볼륨 > 폴더 추가 후 자동으로 생성된 공유 폴더(docker) 속에 새로운 폴더(예: portainer)를 생성합니다.

- 선택 클릭
- 마운트 경로에 /data를 기입해 줍니다.

- 시놀로지 공유 폴더(File Station에서 바로 보이는 폴더)는 사용자가 직접적으로 폴더에 접근이 가능한 형태인 반면, 컨테이너의 내부 폴더는 쉽게 접근이 불가능합니다. 그래서 아래 그림과 같이 마운트(mount)라는 기능을 이용하여, 컨테이너 내부에서는 data라는 폴더로 인식하지만, 이 폴더는 외부의 docker 폴더 내 portainer(예시) 폴더와 연결(동기화) 된 상태라고 보시면 됩니다.

- 네트워크는 bridge로 설정돼 있는데, 그냥 두고 포트 설정으로 넘어갑니다.
- 로컬 포트를 기입해 줍니다.

- 컨테이너 포트와 똑같이 입력해도 되긴 하는데, 아래 그림과 같은 형태로 되어 있으니 편한 대로 기입해 줍니다.

설명하자면 시놀로지 나스 IP의 임의로 정해놓은 포트를 통해 컨테이너에 접속한다고 보시면 됩니다. 그래서 로컬 포트는 다른 포트와 겹치지 않게 임의로 설정하여 사용하면 됩니다. (예: A컨테이너-1234포트, B컨테이너-5678포트 등)
- (8000 포트와 9443 포트는 portainer 내부에서 추가 기능 사용 시 필요한데 귀찮으니 그냥 그대로 둡시다.)
- 링크는 넘어갑니다.
- 환경 > 추가 > 아래 그림과 같이 변수(TZ)와 값(Asia/Seoul)을 입력해 줍니다. (컨테이너 내부의 시간을 맞추어 줍니다.)

- 적용을 클릭하여 고급 설정 창을 닫아 줍니다.
- 다음 클릭 (앞서 설정한 값들이 나타납니다.)

- 마법사 완료 후 이 컨테이너 실행 체크 해제
- 완료 클릭
- 지금까지 설치한 건 임시 상태입니다.
(원래 세부 설정 부분은 ssh를 통해 해결하지만, 시놀로지 기본 앱 상으로는 따로 설정하는 방법이 없기 때문에.. 아래의 방법으로 그 부족한 부분을 채워줍니다.) - 메뉴 중 컨테이너 클릭해 보면, 뭔가 생성된 게 보입니다.
- 생성된 컨테이너에 마우스 오른쪽 버튼 클릭 > 설정 > 내보내기

- 대상 : DiskStation에 내보내기 > 폴더 선택

- docker 폴더 정도의 찾기 쉬운 곳에 저장하도록 합니다.
(새로운 폴더로 지정해도 무방합니다.)

- 내보내기 클릭
- 바탕화면의 File Station 을 통해 저장해둔 폴더로 접근합니다.

- json으로 끝나는 파일을 더블클릭합니다.
(텍스트 편집기가 정상적으로 설치되었다면 자동으로 열립니다.) - 이상한 외계어의 공격이 있겠지만 진정하고 자세히 보면, 앞서 설정했던 것들을 나타내고 있음을 알 수 있습니다.
아래쪽 부분에 volume_bindings 쪽을 다음과 같이 수정해 줍니다.

,
{
"host_absolute_path" : "/var/run/docker.sock",
"mount_point" : "/var/run/docker.sock",
"type" : "rw"
}
제일 위 쪽의 쉼표가 중요합니다.
- 폴더(볼륨)를 마운트 하는 부분에서 /var/run/docker.sock도 같이 해주어야 하는데, 설명드린 것과 같이 설정이 불가능하다 보니 이렇게 설정 파일을 수정해서 다시 컨테이너를 생성합니다.
- 수정한 텍스트를 저장 후 다시 도커 > 컨테이너로 돌아갑니다.

- 기존에 생성했던 컨테이너 > 마우스 오른쪽 버튼 클릭 > 작업 > 삭제 클릭
- 설정 > 가져오기 > 이름 지정 (예: portainer)

실행
- 생성된 컨테이너의 스위치를 켜줍니다.

- 앞서 컨테이너 포트 9000과 연결한 로컬 포트를 통해 브라우저로 접속해 봅니다.
(예: 시놀로지 IP:로컬 포트 -> 192.168.0.95:9000) - 아래와 같이 관리자 설정 화면이 나오면 설치 성공입니다.

이렇게 Portainer라는 컨테이너를 설치해 보았는데, 추가 설정 방법 등은 따로 진행하겠습니다.😊