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-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_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 examplepassword
5. 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를 설치하고 실행할 수 있습니다.