programing

도커 컨테이너에서 실행되는 MongoDB에 연결하는 방법은 무엇입니까?

oldcodes 2023. 6. 3. 08:43
반응형

도커 컨테이너에서 실행되는 MongoDB에 연결하는 방법은 무엇입니까?

다음과 같이 MacOS에서 Postgres 서버와 MongoDB 서버를 시작하는 Docker 컨테이너를 실행하고 있습니다.

docker run -p 80:80 -p 27017:27017 dockertest
 * Starting PostgreSQL 9.3 database server
  ...done.
 * Starting database mongodb
  ...done.

출력은 MongoDB 서버가 올바르게 시작되었음을 나타냅니다.그런 다음 컨테이너가 실행 중인 VM의 IP를 다음과 같이 검색합니다.

docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.11.2

포트가 매핑된 것 같습니다.

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                          NAMES
39e5198e4693        dockertest   "/bin/sh -c 'service "   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:27017->27017/tcp   drunk_nobel

그러나 다른 터미널 창에서 MongoDB에 연결하고 싶을 때,

mongo 192.168.99.100:27017

다음 오류가 발생합니다.

MongoDB shell version: 2.6.4
connecting to: 192.168.99.100:27017/test
2016-06-05T18:48:19.050+0200 warning: Failed to connect to      192.168.99.100:27017, reason: errno:61 Connection refused
2016-06-05T18:48:19.052+0200 Error: couldn't connect to server 192.168.99.100:27017 (192.168.99.100), connection attempt failed at    src/mongo/shell/mongo.js:148
exception: connect failed

저는 이미 비슷한 질문(예: 도커 컨테이너에서 실행 중인 mongoDB에 연결할 수 없음)을 살펴보았지만 제안된 솔루션은 작동하지 않는 것 같습니다.

문제는 Docker와 관련된 것이 아니라 MongoDB 구성의 bindip과 관련된 것입니다.참고 항목: mongodb.conf bind_ip = 127.0.0.1은 작동하지 않지만 0.0.0은 작동합니다.

언급URL : https://stackoverflow.com/questions/37644465/how-to-connect-to-mongodb-running-in-docker-container

반응형