Docker로 외부 접속이 가능한 MongoDB를 띄우는 방법
-
MongoDB Docker 이미지 다운로드
docker pull mongo
-
MongoDB 컨테이너 실행
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password123 \
mongo \
--bind_ip_all
- -d: 백그라운드에서 실행
- --name mongodb: 컨테이너 이름을 'mongodb'로 지정
- -p 27017:27017: 호스트의 27017 포트를 컨테이너의 27017 포트와 연결
- -e MONGO_INITDB_ROOT_USERNAME=admin: 관리자 계정 생성
- -e MONGO_INITDB_ROOT_PASSWORD=password123: 관리자 비밀번호 설정
- --bind_ip_all: 모든 IP에서의 접속 허용
-
컨테이너가 정상적으로 실행되었는지 확인
docker ps
-
외부 접속을 위한 연결 주소
mongodb://admin:password123@localhost:27017
- 외부에서 접속할 때는 'localhost' 대신 호스트 컴퓨터의 IP 주소를 사용.
- Windows 방화벽 설정
- Windows 방화벽 설정에서 27017 포트에 대한 인바운드 규칙을 추가해야 함:
- Windows 검색에서 "방화벽" 검색
- "Windows Defender 방화벽" 선택
- "고급 설정" 선택
- "인바운드 규칙" → "새 규칙" 선택
- "포트" 선택 → "TCP" 및 "27017" 입력
- "연결 허용" 선택
- 규칙 이름을 "MongoDB" 등으로 지정
+) 본인의 경우, EC2에서 이 MongoDB를 연동해서 사용하려고 함. 그러려면 EC2에서 아웃바운드 설정을 해줘야 하고(보안그룹 수정), 이는 과금됨.