시놀로지 도커로 몽고 익스프레스(mongo-express) 설치하기

이전 포스팅에서 도커로 몽고DB를 설치해 봤습니다.

시놀로지 도커로 몽고DB 설치하는 방법 바로가기

몽고DB는 설치가 되었으나 이 DB만으로는 CLI외에 Database를 볼 수는 없습니다. 이 몽고DB를 보기위한 방법 중 하나는 Mongo-express를 이용하는 방법입니다. Mongo-expressphpMyAdmin처럼 웹브라우저로 몽고DB를 볼 수 있습니다.

이 Mong-express를 시놀로지 도커로 설치해 보겠습니다.

Mongo-express 도커 설치하기

먼저 시놀로지 DSM에서 도커를 엽니다.

tistory-image

  1. 레지스트리 메뉴를 선택합니다.
  2. 검색창에서 mongo로 검색을 합니다.
  3. 2번째 줄에 있는 mongo-express더블 클릭하여 다운로드를 받습니다.

tistory-image
다운로드 받은 도커이미지는 이미지 탭에서 확인할 수 있습니다.

  1. 이미지 메뉴를 선택합니다.
  2. 다운로드가 완료된 mongo-express를 더블클릭합니다.

tistory-image
다운로드 받은 이미지로 컨테이너를 만들어 줍니다.

  1. 임의의 컨테이너 이름을 입력합니다.
  2. 고급설정 버튼을 클릭합니다.

tistory-image

  1. 실제 서비스로 사용한다면 고급설정 탭에서 자동 재시작 활성화를 체크합니다. 혹시 어떤 이유로 몽고DB가 죽어버리면 자동으로 재시작을 시켜주는 것입니다. 테스트나 개발용이면 선택하지 않는 것이 좋습니다. 죽어버린 이유를 찾아야 하닌까요.

볼륨은 설정할 것이 없어서 넘어 갑니다.

네트워크도 설정할 것이 없어서 넘어 갑니다.

tistory-image
포트설정을 해 주어야 합니다. 로컬포트로 접근을 하면 자동으로 컨테이너 포트로 연결해 주는 역활을 합니다.

  1. +를 클릭하여 포트를 추가 합니다.
  2. 시놀로지의 로컬 포트 중 원하는 포트를 임의로 입력합니다.
  3. 컨테이너 포트는 8081이며 변경하지 않는 것이 좋습니다.

tistory-image
링크를 설정합니다. 링크는 mongo-express가 실행될 때 자동으로 같이 실행되어야 할 컨테이너를 연결해 주는 것입니다.
Mongo-express가 시작되면 당연히 MongoDB가 실행되어야 하므로 MongoDB를 링크걸어 줍니다.

  1. +를 클릭하여 링크를 추가해 줍니다.
  2. 앞서 설치한 몽고DB 컨테이너를 선택합니다.
  3. 별칭으로 mongo를 입력합니다. 변경하면 안됩니다.

tistory-image
마지막으로 환경변수를 추가해 줍니다.

  1. 기존에 있던 변수 ME_CONFIG_BASICAUTH_USERNAME에는 Mongo express의 임의의 유저네임을 입력합니다.
  2. 기존에 있던 변수 ME_CONFIG_BASICAUTH_PASSWORD에는 Mongo express의 임의의 비밀번호를 입력합니다.
  3. +를 클릭하여 환경 변수 2개를 추가해 줍니다.
  4. 추가한 변수 1개 ME_CONFIG_MONGODB_ADMINUSERNAME에는 Mongo DB의 정해져 있는 유저네임을 입력합니다.
  5. 추가한 변수 1개 ME_CONFIG_MONGODB_ADMINPASSWORD에는 Mongo DB의 정해져 있는 비밀번호를 입력합니다.

필요한 경우 ME_CONFIG_MONGODB_PORT를 추가하여 MongoDB의 기본 포트인 27017을 다른 임의의 포트로 변경했을 때 설정할 수 있습니다. 다만 현재 이 환경변수를 지정하면 오류가 발생합니다.

tistory-image
컨테이너를 생성완료 합니다.

tistory-image
이렇게 컨테이너 메뉴에 보면 mongo-express와 mongoDB가 2개 모두 활성화 되어 있는 것을 확인하시면 됩니다.

포트 열기

설치는 완료되었고 이제는 사용할 수 있게 포트(Port)를 열어줘야 합니다. 포트(Port)는 일단 시놀로지에서 열어줘야 내부에서 접근이 가능하고 공유기에서 열어줘야 외부에서도 접근이 가능 합니다.

시놀로지에서 포트 열기

tistory-image
시놀로지의 제어판을 열고 보안항목으로 접속합니다.

  1. 제어판에 접속을 합니다.
  2. 보안 메뉴를 선택합니다.
  3. 방화벽 탭을 선택합니다.
  4. 규칙 편집을 클릭합니다.

tistory-image
도커가 설치되면 대부분 자동적으로 내장 응용프로그램 리스트에 목록이 나타납니다. 단체 체크를 함으로써 포트를 열어줄 수 있습니다. 만약에 리스트에 나타나지 않으면 별도로 포트(Port)를 등록하고 열어줘야 합니다.

  1. Docker mongoDBDocker mongo-express를 체크하여 활성화 합니다.

이제 내부망에서는 몽고DB에 접근하고 사용할 수 있습니다.

공유기에서 포트 열기

만약 내부망이 아니고 외부 인터넷망에서 이 몽고 익스프레스에 접근하려면 공유기에서 포트포워딩을 해 줘야 합니다. 저는 ipTIME을 사용하기때문에 ipTIME를 기준으로 설명드리겠으나 다른 공유기에도 동일한 기능이 있습니다.

tistory-image

  1. 좌측메뉴 중 포트포워딩 설정 메뉴를 클릭합니다.
  2. 규칙이름을 임의로 임력하고 내부IP주소를 NAS의 IP주소를 입력합니다. 그리고 외부포트를 원하는 임의의 포트를 작성하고 내부포트는 시놀로지의 포트(몽고DB컨테이너와 연결된 포트)를 입력합니다.
  3. 등록으로 하면 포트포워딩 리스트에 등록이 되면 완료됩니다.

Similar Posts

  • 가상머신에 Node.js설치하고 환경설정하기

    이전 포스팅에서 VirtualBox와 Vagrant를 소개하고 설치하는 포스팅을 했었습니다. 이번에는 가상머신 위에 간단하게 Node.js를 설치하고 환경설정을 하는 방법을 포스팅하겠습니다. NVM (Node Version Manager) 설치하기 NVM은 Node.js를 버전별로 설치하고 관리할 수 있게 도와주는 툴입니다. 그래서 한 시스템 안에 기존버전의 Node.js를 삭제할 필요없이 여러 버전의 Node.js를 쉽게 설치하고 사용할 수 있게 해 줍니다. 주의 할 점은 NPM을 사용하지 […]

  • HTML5 태그의 블록 요소와 인라인 요소

    HTML의 태그는 크게 블록 요소(block element)와 인라인 요소(inline element)로 나누어 집니다. 이 부분을 명확히 이해하고 있어야 CSS를 사용하는데 어려움이 없습니다. 이 각각의 요소에 적용되는 CSS가 별도로 존재하기 때문에 CSS를 적용해 놓고도 “왜 적용이 되지 않지?” 라는 상황이 발생할 수 있습니다. 예를들면…. 인라인 요소는 height가 적용되지 않는다. 인라인 요소는 width가 적용되지 않는다. 블록 요소는 vertical-align 이 […]

  • CSS에서 ellipsis(‘…’)를 처리하는 방법

    이번에 ellipsis에 대해 정리해 보도록 하겠습니다. 보통 게시판 리스트의 제목부분이 길어질 경우 php나 jsp등의 프로그램단에서 일정 글자수 이상이 되는 것에 대해 ‘…’으로 마무리 하는 경우가 많은데요.. 이것을 프로그램이 아닌 CSS만 가지고도 처리할 수 가 있습니다. 한줄라인 글자수 제한 한줄 라인 글자수 를 제한하는 방법은 아래와 같습니다. <div class=”txt_line”>통영의 신흥보물 강구안의 동쪽벼랑인 동피랑의 벽화마을을 다녀왔다</div> .txt_line […]

  • 주요 오픈소스 라이선스에 대한 핵심 설명

    지금은 Opensource의 시대라고 할 수 있을 정도로 Opensource를 많이 사용하고 있는 추세입니다. 때로는 나도 모르는사이에 Opensource를 사용하고 있기도 하구요. Opensource가 자유롭게 사용할 수는 있으나 무료는 뜻은 아닙니다. 그래서 Opensource를 사용하면서 주의해야 할 점에 대해 핵심만 정리해 보도록 하겠습니다. No 라이선스 BSD MIT Apache MPL EPL LGPL2 GPL2 GPL3 AGPL3 1 수정, 배포의 권한허용 O O […]

  • git사용법과 명령어

    git은 개발자에게는 없어서는 안될 버전관리시스템입니다. SVN이 중앙집중식 버전관리 시스템이라면 git은 분산 버전관리 시스템이라 할 수 있습니다. 경우에 따라 다르겠지만 예전에는 SVN을 많이 사용하던것을 현재는 분산 버전관리 시스템이 git으로 많이 넘어온 상태입니다. 로컬컴퓨터에서만 사용할 경우에는 git만 설치하여 사용하면 되지만 원격저장소를 통해서 여러사람과 사용하기 위해서는 git서버가 있어야 합니다. git서버로 대표적인 사이트는 우리가 흔히 알고 있는 github가 있고 […]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다