Docker - 도커로 MongoDB 컨테이너 설치하는 방법을 알아보자

MongoDB는 NoSQL 데이터베이스로 JSON 형태의 데이터를 저장하는 도큐먼트 지향 데이터베이스입니다. MongoDB도 Mariadb처럼 도커(Docker)를 사용하면 손쉽게 설치해서 사용할 수가 있는데요. 이번 글에서는 도커(Docker)를 이용해서 MongoDB를 설치하는 방법에 대해서 알아보도록 하겠습니다. 도커가 처음이어도 이 글에서 정의된 명령문을 사용하면 쉽게 MongoDB를 설치해서 사용할 수 있습니다.

 

tip. 도커(Docker)를 설치하지 않았다면 먼저 도커를 다운받자

도커를 설치하지 않으셨다면, 공식 사이트를 방문해 도커를 다운 받아 설치해주세요. 도커 설치 방법은 일반적인 응용 프로그램과 동일합니다. 운영체제 맞는 설치 프로그램을 다운 받아 실행을 시키시면 됩니다.

Docker download - 도커 공식 홈페이지

Docker hub에서 MongoDB 이미지를 다운로드 받자

MongoDB를 설치하기 위해서는 도커 허브에 MongoDB 이미지를 다운받아 보겠습니다. 도커는 CLI를 기반으로 동작하기 때문에 명령어를 입력할 수 있는 창을 이용해서 진행과정을 살펴보도록 하겠습니다. 사용자 환경에 따라 화면이 조금은 다를 수 있습니다.

 

Docker - MongoDB 이미지 다운로드 받기

docker pull mongo

 명령어를 입력해서 실행하시면 Docker hub에 있는 MongoDB 이미지를 사용자 컴퓨터에 다운 받아 사용할 수 있습니다.

docker pull mongo

 

MongoDB를 설치하자

MongoDB 이미지를 다운로드했다면 이미지를 기준을 컨테이너를 만들 차례입니다. 도커에서 컨테이너를 만든다는 이야기는 프로그램을 설치한다는 것과 같은 의미입니다. 즉 프로그램(이미지)을 다운받았으니, 이제 설치(컨테이너 만들기) 할 차례입니다.

 

Docker - MongoDB 컨테이너를 만들고 실행하기

docker run \
    --name mongodb \
    -d \
    -p 27017:27017 \
    -e MONGO_INITDB_ROOT_USERNAME=root \
    -e MONGO_INITDB_ROOT_PASSWORD=root \
    mongo

or

docker run --name mongodb -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root mongo

 입력하는 명령문의 내용을 간략하게 설명하면 아래와 같습니다.

 

--name: 만들어서 사용할 컨테이너의 이름을 정의

-d: 컨테이너를 백그라운드에서 실행

-p: 호스트와 컨테이너 간의 포트를 연결 (host-port:container-port) // 호스트에서 27017 포트 연결 시 컨테이너 27017 포트로 포워딩

--restart=always: 도커가 실행되는 경우 항상 컨테이너를 실행

-e: 기타 환경설정(Enviorment)

  MONGO_INITDB_ROOT_USERNAME=root // MongoDB의 초기 root 사용자 설정

  MONGO_INITDB_ROOT_PASSWORD=root // MongoDB의 초기 root 비밀번호 설정

mongo: 컨테이너를 만들 때 사용할 이미지 이름

docker run with MongoDB

 단 두 가지의 명령어만으로 도커를 사용해 MongoDB 이미지를 다운로드하고, MongoDB를 설치(컨테이너 만들기)했습니다. 위에서 진행한 과정만으로 MongoDB 설치 과정이 모두 끝납니다. 도커를 이용해서 MongoDB를 설치하면 설치뿐만 아니라 업데이트 그리고 삭제까지 명령어를 사용해 관리할 수 있습니다.

 

 

MongoDB에 database를 추가하고 user를 설정해보자.

도커를 이용해서 MongoDB를 설치하는 과정은 끝났습니다. 마지막으로 MongoDB에 접속해 root 계정으로 접근해서 정상적으로 설치가 되었는지 확인해보도록 하겠습니다.

 

Docker - MongoDB 컨테이너 접속하기

docker exec -it mongodb /bin/bash

 만약 MongoDB 컨테이너를 만드실 때 컨테이너의 이름을 변경하셨다면 mongodb 대신 변경하신 컨테이너의 이름을 사용해주세요.

 

MongoDB - 루트 계정으로 데이터베이스 접속하기

mongo -u root -p root

 위의 명령어를 입력할 때는 MongoDB 컨테이너를 만들 때 사용한 사용자 이름과 패스워드를 입력하시면 됩니다. 예시로 드린 명령어에서는 사용자는 "root" 비밀번호는 "root"입니다.

 

 MongoDB의 버전에 혹은 사용자 개발 환경에 따라 달라지는 부분이 발생할 수 있지만 위의 과정을 진행하면 최종적으로 아래와 같이 진행됩니다.

MongoDB에 접속하기

 

반응형

댓글

Designed by JB FACTORY