본문 바로가기
강좌

도커를 이용한 mongo DB 설치 및 사용 방법

by ProjectDH 2021. 11. 11.

오늘은 도커로 mongo DB 설치와 기본적인 사용 방법에 대해서 알아보겠습니다.

윈도우 클라이언트 프로그램을 통해 접속까지 해볼 예정입니다.

 

[테스트 환경: aws lightsail 2GB RAM, 서울 데이터센터, 우분투 20.04 LTS]

 

mongo DB의 장점은 분산 처리가 가능하며 네트워크 장애 발생 시에도 자동으로 복구하는 기능을 가지고 있습니다.

그래서 대용량 데이터에서도 빠르게 원하는 데이터를 찾을 수 있다는 장점을 가지고 있습니다.

 

여태까지는 mysql만 사용해왔지만, 이번에 mongo DB도 처음으로 입문해보려고 합니다.

앞으로 파이썬과 php, 그리고 java에서 mongo DB에 접속하여서 데이터를 읽고, 쓰는 방법에 대해서도 강좌를 올려보겠습니다.

php 예제로는 웹사이트와 연동하여서 회원가입 및 로그인 시스템을 만들어볼 예정입니다.

 

1. 몽고 이미지 가져오기

docker pull mongo

 

이미지 잘 가져왔는지 확인

docker image list

 

2. 도커 컨테이너 생성

docker run --name mongodb -v /data/mongodb:/data/db -v /data/mongodb_config:/data/configdb -p 27017:27017 --restart=always mongo

포트 옵션인 -p의 인자는 호스트포트:컨테이너 포트입니다. 호스트 포트는 접속할 때 사용할 포트이므로 변경해도 됩니다.

-p 2300:27017 이렇게 입력했다면, 실제로 접속할 때 사용하는 포트는 2300이 된 것입니다.

조금 뒤에 윈도우 클라이언트에서 접속할 때 필요한 포트란에 여기에서 입력한 호스트 포트를 넣으셔야 합니다.

 

또한, 도커 볼륨을 /data/mongodb와 /data/mongodb_config에 마운트 했습니다.

혹시라도 도커 컨테이너가 삭제되더라도 다시 컨테이너를 생성할 때 이 경로를 지정하면 db 데이터가 복구될 것입니다.

 

 

실행이 잘 된다면 컨트롤 C를 눌러서 빠져나오고

docker start mongodb 를 입력해서 mongodb를 시작시킵니다.

 

3. 도커 프로세스 확인

docker ps -a

4. 컨테이너 접속

docker exec -it mongodb /bin/bash

5. mongo 명령어 실행

mongo

 

테스트로 db를 만들어보고 그 안에 컬렉션을 생성해보겠습니다.

 

1. db 생성

use test; (*test 라는 db를 생성합니다. mongodb는 존재하지 않는 db를 use와 함께 실행하면 알아서 db를 만듭니다. 현재 존재하는 db 목록을 확인하시려면 show dbs를 입력하세요.)

계정 생성 방법

 

2. 컬렉션 생성

db.createCollection('userinfo'); (저는 여기에서 테스트로 userinfo라는 컬렉션을 생성하였습니다.)

 

다음은 윈도우에서 원격 접속을 하기 위해서 mongodb의 계정 접속 정보를 설정하겠습니다.

 

1. admin 데이터베이스 사용

use admin;

 

2. 계정 생성 명령어 실행

db.createUser({user: "test", pwd: "test", roles:["root"]});

(아이디와 암호 모두 test인 계정 생성)

 

윈도우에서 접속 방법

 

Robo 3T 프로그램을 다운로드합니다.

 

각종 정보 입력 후 다운로드할 때에는 개인정보를 필요로 할 수도 있습니다.

 

설치 프로그램을 여셔서 동의 누르시고 설치를 진행합니다.

처음 실행하면 정보를 입력하라는 창이 뜨는데 그냥 finish를 누르면 됩니다.

 

실행 후 컴퓨터 모양 누르셔서 Create를 누르시고

 

Address에는 db 서버 주소, 옆에는 아까 도커 컨테이너 생성할 때 입력했던 호스트 포트를 적습니다.

 

Authentication으로 가서 Perform ~ 을 누르시고

UserName과 Password에 아까 db 접속해서 만든 계정 정보를 입력합니다.

Save를 눌러서 저장을 합니다.

 

 

새로 만든 connection을 클릭 후 connect를 클릭하시면 db에 접속이 된 것을 확인하실 수 있습니다.

아까 만들었던 test db가 있습니다. 확장시켜서 Collections에 들어가 보면 userinfo라는 컬렉션이 존재합니다.

잘 나타난다면 윈도우에서 몽고db에 접속을 성공한 것입니다.

 

접속이 안 된다면 사용 중인 호스팅 서비스에서 포트포워딩이 되어있는지와 방화벽 오픈 여부를 확인해주세요.

 

몽고 DB의 기본적인 사용법 강좌를 마치겠습니다. 감사합니다.

댓글