본문 바로가기

Full Stack

Docker compose로 MongoDB 사용하기 (Mac)

728x90

현재 진행 중인 프로젝트에서 MongoDB를 사용하려고 했는데, 직접 설치하기보다는 docker compose를 사용해서 설치 없이 손쉽게 MongoDB 를 사용하려고 했습니다. 이를 위해 거쳤던 과정들을 정리하였습니다.


 

1. Mongo DB 사용을 위한 docker 설치 (2가지 방법)

- 아래 명령어 실행하거나 docker desktop 에서 직접 설치

brew install cask docker # docker 설치
docker -v # docker 설치 확인

 

2. docker - compose 설치

brew install cask docker-compose # docker compose 설치
docker-compose -v # docker compose 버전

 

3. MongoDB docker compose 설정 파일 생성 (docker-compose.yml)

version: '3.8'
services:
  mongodb:
    image: mongo
    container_name: mongodb
    restart: always
    ports:
      - 27017:27017
    volumes:
      - ~/mongodb:/data/db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=1234

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: 1234
      ME_CONFIG_MONGODB_URL: mongodb://root:1234@mongodb:27017

 

4. docker compose 띄우기

docker-compose up -d

 

5. mongodb 서버 내부로 접속하기

docker exec -it mongodb /bin/bash

monogsh -u root -p 1234 # mongo db 로그인
show databases # mongo db 내부 데이터베이스 조회

 

 

참고

 

스프링 부트에서 Spring Data의 mongo db MongoDBRepository 클래스를 사용해서 CRUD 작업을 진행하려고 하였습니다. 이때, application.properties 파일에 아래와 같은 설정이 필요합니다.

spring.data.mongodb.uri=mongodb://{username}:{password}@localhost:27017/{database}?authSource=admin

 

위의 docker compose 를 기준으로는 아래와 같이 사용하면 됩니다.

spring.data.mongodb.uri=mongodb://root:1234@localhost:27017/local?authSource=admin

 

728x90
반응형

'Full Stack' 카테고리의 다른 글

기본 HTML 문법 - 1 (p, span, a, li, img, 시맨틱 태그)  (3) 2024.10.31