이전 포스팅에서 도커로 몽고DB를 설치해 봤습니다.
몽고DB는 설치가 되었으나 이 DB만으로는 CLI외에 Database를 볼 수는 없습니다. 이 몽고DB를 보기위한 방법 중 하나는 Mongo-express를 이용하는 방법입니다. Mongo-express는 phpMyAdmin
처럼 웹브라우저로 몽고DB를 볼 수 있습니다.
이 Mong-express를 시놀로지 도커로 설치해 보겠습니다.
Mongo-express 도커 설치하기
먼저 시놀로지 DSM에서 도커를 엽니다.
레지스트리
메뉴를 선택합니다.- 검색창에서
mongo
로 검색을 합니다. - 2번째 줄에 있는
mongo-express
를더블 클릭
하여 다운로드를 받습니다.
다운로드 받은 도커이미지는 이미지 탭에서 확인할 수 있습니다.
이미지
메뉴를 선택합니다.- 다운로드가 완료된
mongo-express
를 더블클릭합니다.
다운로드 받은 이미지로 컨테이너를 만들어 줍니다.
- 임의의 컨테이너 이름을 입력합니다.
고급설정
버튼을 클릭합니다.
- 실제 서비스로 사용한다면 고급설정 탭에서
자동 재시작 활성화
를 체크합니다. 혹시 어떤 이유로 몽고DB가 죽어버리면 자동으로 재시작을 시켜주는 것입니다. 테스트나 개발용이면 선택하지 않는 것이 좋습니다. 죽어버린 이유를 찾아야 하닌까요.
볼륨은 설정할 것이 없어서 넘어 갑니다.
네트워크도 설정할 것이 없어서 넘어 갑니다.
포트설정을 해 주어야 합니다. 로컬포트로 접근을 하면 자동으로 컨테이너 포트로 연결해 주는 역활을 합니다.
+
를 클릭하여 포트를 추가 합니다.- 시놀로지의 로컬 포트 중 원하는 포트를 임의로 입력합니다.
- 컨테이너 포트는
8081
이며 변경하지 않는 것이 좋습니다.
링크를 설정합니다. 링크는 mongo-express가 실행될 때 자동으로 같이 실행되어야 할 컨테이너를 연결해 주는 것입니다.
Mongo-express가 시작되면 당연히 MongoDB가 실행되어야 하므로 MongoDB를 링크걸어 줍니다.
+
를 클릭하여 링크를 추가해 줍니다.- 앞서 설치한 몽고DB 컨테이너를 선택합니다.
- 별칭으로
mongo
를 입력합니다. 변경하면 안됩니다.
마지막으로 환경변수를 추가해 줍니다.
- 기존에 있던 변수
ME_CONFIG_BASICAUTH_USERNAME
에는 Mongo express의 임의의 유저네임을 입력합니다. - 기존에 있던 변수
ME_CONFIG_BASICAUTH_PASSWORD
에는 Mongo express의 임의의 비밀번호를 입력합니다. +
를 클릭하여 환경 변수 2개를 추가해 줍니다.- 추가한 변수 1개
ME_CONFIG_MONGODB_ADMINUSERNAME
에는 Mongo DB의 정해져 있는 유저네임을 입력합니다. - 추가한 변수 1개
ME_CONFIG_MONGODB_ADMINPASSWORD
에는 Mongo DB의 정해져 있는 비밀번호를 입력합니다.
필요한 경우
ME_CONFIG_MONGODB_PORT
를 추가하여 MongoDB의 기본 포트인 27017을 다른 임의의 포트로 변경했을 때 설정할 수 있습니다. 다만 현재 이 환경변수를 지정하면 오류가 발생합니다.
컨테이너를 생성완료 합니다.
이렇게 컨테이너 메뉴에 보면 mongo-express와 mongoDB가 2개 모두 활성화 되어 있는 것을 확인하시면 됩니다.
포트 열기
설치는 완료되었고 이제는 사용할 수 있게 포트(Port)를 열어줘야 합니다. 포트(Port)는 일단 시놀로지에서 열어줘야 내부에서 접근이 가능하고 공유기에서 열어줘야 외부에서도 접근이 가능 합니다.
시놀로지에서 포트 열기
시놀로지의 제어판을 열고 보안
항목으로 접속합니다.
제어판
에 접속을 합니다.보안
메뉴를 선택합니다.방화벽
탭을 선택합니다.규칙 편집
을 클릭합니다.
도커가 설치되면 대부분 자동적으로 내장 응용프로그램 리스트에 목록이 나타납니다. 단체 체크를 함으로써 포트를 열어줄 수 있습니다. 만약에 리스트에 나타나지 않으면 별도로 포트(Port)를 등록하고 열어줘야 합니다.
Docker mongoDB
와Docker mongo-express
를 체크하여 활성화 합니다.
이제 내부망에서는 몽고DB에 접근하고 사용할 수 있습니다.
공유기에서 포트 열기
만약 내부망이 아니고 외부 인터넷망에서 이 몽고 익스프레스에 접근하려면 공유기에서 포트포워딩을 해 줘야 합니다. 저는 ipTIME을 사용하기때문에 ipTIME를 기준으로 설명드리겠으나 다른 공유기에도 동일한 기능이 있습니다.
- 좌측메뉴 중
포트포워딩 설정
메뉴를 클릭합니다. - 규칙이름을 임의로 임력하고 내부IP주소를 NAS의 IP주소를 입력합니다. 그리고 외부포트를 원하는 임의의 포트를 작성하고 내부포트는 시놀로지의 포트(몽고DB컨테이너와 연결된 포트)를 입력합니다.
- 등록으로 하면 포트포워딩 리스트에 등록이 되면 완료됩니다.