몽고DB 접속

arky uhm·2025년 5월 20일

MongoDB

목록 보기
5/14

🧩 구성
case1)
. Window (WSL) Docker : Stand-alone
. Window hosts 파일 (C:\Windows\System32\Drivers\etc)
127.0.0.1 mongodb_single
. compose yml 파일 내 포트 매핑
 ...
 ports:
   - "27071:27017" ## host포트 : 컨테이너 내 DB포트
 ...
 ports:
   - "27072:27017"
 ...
 ports:
   - "27073:27017"
...

case2)
. Window (WSL) Docker : 1 Primary, 2 Secondary
. Window hosts 파일 (C:\Windows\System32\Drivers\etc)
127.0.0.1 mongo1
127.0.0.1 mongo2
127.0.0.1 mongo3
. compose yml 파일 내 포트 매핑
 ...
 ports:
   - "27031:27027"
 ...

✅ 방법1) Compass

Host(Window)에 설치된 Compass에서 접속하게 되므로 host포트(아래 예: 27031, 27071, 27072, 27073)로 접속한다

# stand-alone
URI : mongodb://mongodb_single:27031/

# replica-set (in Docker)
URI : mongodb://mongo1:27071/?replicaSet=myReplicaSet&directConnection=true

※ 주의
복제본 세트 Docker 에서 실행되면 MongoDB 엔드포인트를 하나만 노출할 수 있습니다. 이 경우 복제본 세트 검색할 수 없으며 directConnection=false 를 지정하면 애플리케이션 복제본 세트에 연결하지 못할 수 있습니다.
테스트 또는 개발 환경에서는 연결 URI에 directConnection=true 를 지정하여 복제본 세트 에 연결할 수 있습니다. 프로덕션 환경에서는 Docker 가상 네트워크 외부에서 각 MongoDB 인스턴스 에 액세스할 수 있도록 클러스터 를 구성하는 것이 좋습니다.

. mongo1 DB에 접속한 경우 : stand-alone

. mongo1 DB에 접속한 경우 : replica-set



✅ 방법2) mongosh 컨테이너 내 올라간 DB에 접속하게 되므로 몽고DB 포트(아래 예: 27027, 27017)로 접속한다
[bash]
# stand-alone
$ mongosh "mongodb://mongodb_single:27027/"

# replica-set
$ mongosh "mongodb://mongo1:27017,mongo2:27017,mongo3:27017/?replicaSet=myReplicaSet"

. mongo1 DB에 접속한 경우 : stand-alone

. mongo1 DB에 접속한 경우 : replica-set



📌 Compass 다운로드
  1. Organization Home

  1. Clusters category

  1. Connection type

  1. Download by OS type



🧾 출처
https://www.mongodb.com/ko-kr/docs/manual/reference/connection-string-options/

0개의 댓글