MongoDB 설치 및 명령어 정리하기
MongoDB 설치 및 명령어 정리하기
Docker Compose를 사용해 MongoDB를 설치하는 방법은 매우 간단합니다. Docker Compose 파일을 작성하여 MongoDB 이미지를 정의하고, 필요한 환경 설정을 추가한 후, docker-compose 명령을 통해 MongoDB 컨테이너를 실행할 수 있습니다.
1. Docker Compose 파일 작성
우선 docker-compose.yml 파일을 생성해야 합니다. 이 파일은 MongoDB 서비스에 대한 정의를 포함하게 됩니다.
a.WSL 또는 Linux 터미널에서 작업할 디렉터리를 생성합니다.
mkdir mongodb-docker
cd mongodb-dockerb.이 디렉터리 안에 docker-compose.yml 파일을 생성합니다.
vi docker-compose.ymlc.다음과 같이 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_USERNAME및- MONGO_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 examplepassword5. MongoDB 컨테이너 중지 및 제거
MongoDB를 중지하고 싶다면 다음 명령어로 컨테이너를 중지할 수 있습니다.
docker-compose down이 명령어는 컨테이너를 중지하고 네트워크 및 관련 리소스를 정리합니다. 하지만 데이터는 volumes로 저장되므로 컨테이너를 삭제해도 데이터가 유지됩니다.
요약
- docker-compose.yml파일 작성: MongoDB 이미지를 정의하고 환경 변수를 설정.
- Docker Compose 실행: docker-compose up -d명령어로 MongoDB 컨테이너 실행.
- MongoDB 접속: 컨테이너 내부에서 MongoDB 셸에 접속하거나 클라이언트로 접속.
- 컨테이너 중지: docker-compose down으로 중지 및 정리.
이 과정을 통해 Docker Compose로 손쉽게 MongoDB를 설치하고 실행할 수 있습니다.
| Date | Title | Author | 
|---|---|---|
| Oct 8, 2024 | RESTful API와 PyMongo 통합 방법 | |
| Sep 29, 2024 | MongoDB에서의 데이터 모델링 원칙 | |
| Sep 28, 2024 | Pymongo 컬렉션 선택 및 생성하기 | |
| Sep 28, 2024 | PyMongo 데이터 삽입 | |
| Sep 28, 2024 | PyMongo 데이터 수정 | |
| Sep 28, 2024 | PyMongo 데이터 삭제 | |
| Sep 27, 2024 | Pymongo 데이터베이스 선택 및 생성 | |
| Sep 25, 2024 | Pymongo 연결하기 | |
| Sep 22, 2024 | MongoDB 구조 (데이터베이스, 컬렉션, 문서) | |
| Sep 22, 2024 | Pymongo 데이터베이스 선택 및 생성 | |
| Nov 28, 2023 | mongoDB 서비스 시작/종료/상태확인 | |
| Nov 14, 2023 | Pymongo 명령어 정리하기 |