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 |
---|