MongoDB 설치 및 명령어 정리하기

MongoDB 설치 및 명령어 정리하기

Pymongo
MongoDB 설치 및 명령어 정리하기
Author

gabriel yang

Published

November 15, 2023

Docker Compose를 사용해 MongoDB를 설치하는 방법은 매우 간단합니다. Docker Compose 파일을 작성하여 MongoDB 이미지를 정의하고, 필요한 환경 설정을 추가한 후, docker-compose 명령을 통해 MongoDB 컨테이너를 실행할 수 있습니다.

1. Docker Compose 파일 작성

우선 docker-compose.yml 파일을 생성해야 합니다. 이 파일은 MongoDB 서비스에 대한 정의를 포함하게 됩니다.

a.WSL 또는 Linux 터미널에서 작업할 디렉터리를 생성합니다.

mkdir mongodb-docker
cd mongodb-docker

b.이 디렉터리 안에 docker-compose.yml 파일을 생성합니다.

vi docker-compose.yml

c.다음과 같이 docker-compose.yml 파일을 작성합니다.

  version: '3.8'  # Compose 파일 버전
  services:
    mongo:
      image: mongo:latest  # MongoDB 최신 버전 이미지 사용
      container_name: mongodb_container  # 컨테이너 이름
      environment:
        - MONGO_INITDB_ROOT_USERNAME=root  # 초기 루트 사용자 이름
        - MONGO_INITDB_ROOT_PASSWORD=examplepassword  # 초기 루트 사용자 비밀번호
      ports:
        - "27017:27017"  # 호스트와 컨테이너 간 포트 매핑
      volumes:
        - mongo-data:/data/db  # 데이터 지속성을 위한 볼륨 설정

  volumes:
    mongo-data:  # 볼륨 이름 정의
  • image: mongo:latest: MongoDB의 최신 이미지를 가져옵니다.
  • MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD: 초기 루트 사용자 이름과 비밀번호를 환경 변수로 설정합니다.
  • ports: 27017 포트를 호스트와 컨테이너 간에 매핑하여 MongoDB에 접근할 수 있게 합니다.
  • volumes: MongoDB 데이터베이스 데이터를 영구 저장하기 위해 볼륨을 설정합니다. 이를 통해 컨테이너를 중지하거나 삭제해도 데이터가 유지됩니다.

2. Docker Compose로 MongoDB 실행

작성한 docker-compose.yml 파일이 있는 디렉터리에서 다음 명령어를 실행하여 MongoDB를 시작합니다.

docker-compose up -d
  • -d 옵션은 Docker Compose가 백그라운드에서 컨테이너를 실행하게 합니다.

3. MongoDB 상태 확인

MongoDB 컨테이너가 제대로 실행 중인지 확인하려면 다음 명령어를 사용합니다.

docker-compose ps

정상적으로 실행 중인 경우, State 열에 Up으로 표시됩니다.

4. MongoDB에 접속하기

MongoDB가 실행 중인 컨테이너에 접속하여 MongoDB 셸을 실행할 수 있습니다. MongoDB 셸에 접속하는 방법은 다음과 같습니다.

docker exec -it mongodb_container bash

코드 설명

  • docker exec: 현재 실행 중인 Docker 컨테이너에서 명령어를 실행하는 데 사용됩니다.
  • it: 두 개의 옵션이 결합된 형태입니다.
    • -i (interactive): 표준 입력을 활성화하여 컨테이너 내에서 상호작용할 수 있도록 합니다. 즉, 컨테이너에 명령을 입력할 수 있게 합니다.
    • –t (tty): TTY(Terminal emulation)를 활성화하여 가상 터미널을 생성합니다. 이를 통해 사용자는 터미널 세션에서 컨테이너와 상호작용할 수 있습니다.
  • mongodb_container: 명령을 실행할 대상 컨테이너의 이름 또는 ID를 지정합니다. 여기서는 “mongodb_container”라는 이름을 가진 컨테이너에서 명령을 실행합니다. - bash: 컨테이너 내에서 실행할 명령어를 지정합니다. 여기서는 컨테이너 안에서 bash 쉘을 실행하므로, 컨테이너의 bash 쉘에 접속하게 됩니다.
  • mongoDB bash mongosh -u root -p examplepassword 여기서 root는 사용자 이름, examplepassword는 비밀번호입니다. 또는 MongoDB 클라이언트 툴을 사용하여 localhost:27017 포트로 접속할 수 있습니다.

mongodb_container의 bash로 진입한 후 mongosh에 사용자 ID와 Password를 입력하면 mongodb에 연결할 수 있습니다.

mongosh -u root -p examplepassword

5. MongoDB 컨테이너 중지 및 제거

MongoDB를 중지하고 싶다면 다음 명령어로 컨테이너를 중지할 수 있습니다.

docker-compose down

이 명령어는 컨테이너를 중지하고 네트워크 및 관련 리소스를 정리합니다. 하지만 데이터는 volumes로 저장되므로 컨테이너를 삭제해도 데이터가 유지됩니다.


요약

  1. docker-compose.yml 파일 작성: MongoDB 이미지를 정의하고 환경 변수를 설정.
  2. Docker Compose 실행: docker-compose up -d 명령어로 MongoDB 컨테이너 실행.
  3. MongoDB 접속: 컨테이너 내부에서 MongoDB 셸에 접속하거나 클라이언트로 접속.
  4. 컨테이너 중지: docker-compose down으로 중지 및 정리.

이 과정을 통해 Docker Compose로 손쉽게 MongoDB를 설치하고 실행할 수 있습니다.

Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Oct 8, 2024 RESTful API와 PyMongo 통합 방법 gabriel yang
Sep 29, 2024 MongoDB에서의 데이터 모델링 원칙 gabriel yang
Sep 28, 2024 Pymongo 컬렉션 선택 및 생성하기 gabriel yang
Sep 28, 2024 PyMongo 데이터 삽입 gabriel yang
Sep 28, 2024 PyMongo 데이터 수정 gabriel yang
Sep 28, 2024 PyMongo 데이터 삭제 gabriel yang
Sep 27, 2024 Pymongo 데이터베이스 선택 및 생성 gabriel yang
Sep 25, 2024 Pymongo 연결하기 gabriel yang
Sep 22, 2024 MongoDB 구조 (데이터베이스, 컬렉션, 문서) gabriel yang
Sep 22, 2024 Pymongo 데이터베이스 선택 및 생성 gabriel yang
Nov 28, 2023 mongoDB 서비스 시작/종료/상태확인 gabriel yang
Nov 14, 2023 Pymongo 명령어 정리하기 gabriel yang
No matching items
Back to BLOG LIST