Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

가장 접근성 높은 NoSQL 데이터베이스 중 하나인 MongoDB®는 다양한 배포 옵션을 제공합니다. 이 글에서는 Docker®를 사용해 MongoDB를 컨테이너로 배포하고, 셸 클라이언트를 통해 해당 컨테이너와 상호작용하는 방법을 소개합니다.

소개

컴퓨터나 서버에 Docker를 설치한 후, 다음 단계에 따라 MongoDB를 Docker 컨테이너로 배포할 수 있습니다.

  1. 최신 버전 또는 특정 버전의 MongoDB Docker 이미지를 다운로드합니다.
  2. MongoDB 인스턴스를 컨테이너로 배포합니다.
  3. 기본적인 셸 명령어를 통해 MongoDB Docker 컨테이너와 상호작용합니다.

MongoDB Docker 이미지 다운로드

컴퓨터나 서버에 Docker가 설치되어 있다면, Docker Hub 컨테이너 레지스트리에서 MongoDB 이미지를 받을 수 있습니다. 반드시 사용하려는 특정 이미지 버전(예: mongo:4.0.4)을 지정하여 다운로드하는 것이 좋습니다. 버전을 생략하면 최신 버전이 자동으로 설치되는데, Mongo는 최신 버전을 언제든 업데이트할 수 있기 때문에 예기치 않은 동작이나 일관성 없는 환경이 발생할 수 있습니다.

docker images 명령어를 실행하면 서버에서 사용 가능한 이미지 목록을 확인할 수 있습니다. 여기서는 태그 4.0.4가 붙은 MongoDB 이미지를 사용할 수 있는 상태로 표시됩니다.

다음 명령어로 MongoDB 이미지를 다운로드하고, 보유한 이미지 목록을 확인합니다.

# docker pull mongo:4.0.4
# docker images
Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

MongoDB 인스턴스를 컨테이너로 배포

컨테이너는 분리(detached) 모드인 -d 옵션으로 실행합니다. 컨테이너의 스토리지는 휘발성이기 때문에, -v 옵션으로 볼륨을 마운트하여 로컬 경로 /data/db에 데이터를 유지해야 합니다. 이 경로는 컨테이너 내부 디렉터리입니다. 이렇게 하면 컨테이너를 중지하거나 삭제하더라도 호스트의 /data/db 경로에 데이터가 그대로 보존됩니다. 명령어에는 --name 옵션으로 컨테이너 이름을 지정하고, 그 뒤에 Docker 이미지와 태그를 입력합니다. 여기서는 mongo:4.0.4 태그를 사용했습니다. 명령어 실행 결과로 컨테이너 ID 문자열이 반환되며, docker ps 명령어로 실행 중인 컨테이너 목록을 확인할 수 있습니다.

# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4
# docker ps
Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

셸로 MongoDB Docker 컨테이너와 상호작용하기

정상적으로 배포된 MongoDB를 활용하려면 셸 클라이언트를 통해 데이터베이스와 직접 상호작용할 수 있습니다.

컨테이너를 분리 모드로 실행했기 때문에 대화형 터미널(interactive terminal)을 통해 접속해야 합니다. 다음 명령어로 mymongo라는 이름의 배포 환경에 연결하여 bash 셸을 시작합니다.

# docker exec -it mymongo bash
Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

다음 명령어를 실행하면 MongoDB 셸 클라이언트가 시작됩니다.

# mongo
Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

MongoDB 셸 클라이언트에서는 공식 문서에 정리된 모든 기능을 사용할 수 있습니다. 예를 들어, 다음 명령어로 현재 인스턴스에 존재하는 데이터베이스 목록을 확인할 수 있습니다.

> show dbs
Docker 컨테이너로 MongoDB 배포하기: 초보자를 위한 단계별 가이드

마무리

이 글에서는 Docker를 활용해 MongoDB 컨테이너를 생성하고, 호스트 시스템의 스토리지 볼륨을 컨테이너에 연결하는 방법을 살펴보았습니다. 또한 셸을 통해 MongoDB Docker 컨테이너와 상호작용을 시작하는 과정도 함께 확인했습니다. 이 글은 Docker 컨테이너에서 MongoDB 인스턴스를 실행하는 기본적인 데모이지만, 동일한 MongoDB 이미지를 활용하면 원하는 만큼 많은 컨테이너를 생성할 수 있습니다. 이러한 컨테이너들을 조합해 복제 세트(replica set)를 구성하고, 더 나아가 견고한 컨테이너 기반 애플리케이션을 만들 수도 있습니다.

이 글이 MongoDB 인스턴스를 빠르게 구축하고 몇 분 안에 실제 작업을 시작하는 데 도움이 되기를 바랍니다.

궁금한 점이나 의견이 있다면 피드백 탭을 통해 남겨 주세요. 지금 바로 채팅으로 문의하실 수도 있습니다.

데이터베이스 서비스에 대해 더 알아보기