5
호스트에 노출되어야하는 mongodb-instance를 실행하는 도커 컨테이너를 빌드했습니다. 그러나 호스트에서 mongodb-container에 연결할 때 연결이 거부됩니다. 도커 컨테이너의 mongodb에 연결할 수 없습니다.
이
내 Dockerfile입니다 :FROM mongo:latest
RUN mkdir -p /var/lib/mongodb && \
touch /var/lib/mongodb/.keep && \
chown -R mongodb:mongodb /var/lib/mongodb
ADD mongodb.conf /etc/mongodb.conf
VOLUME [ "/var/lib/mongodb" ]
EXPOSE 27017
USER mongodb
WORKDIR /var/lib/mongodb
ENTRYPOINT ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"]
CMD ["--quiet"]
/etc/mongodb.conf :
그리고 이것은 내가 명시 적으로 IP 0.0.0.0 바인딩 MongoDB를위한 설정 파일입니다 발견 된 바와 같이 here on SO은 127.0.0.1이 내 문제의 근본 원인이 될 수 있습니다 (그러나 그렇지 않습니다).
systemLog:
destination: file
path: /var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /var/lib/mongodb
net:
bindIp: 0.0.0.0
을 고정 표시기 컨테이너가 실행되고 있지만, 호스트로부터의 연결 수 없습니다 :
host$ docker inspect 6ec958034a6f |grep IPA
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAMConfig": null,
"IPAddress": "172.17.0.2",
한번에 연결하기 :
host$ mongo 172.17.0.2:27017
MongoDB shell version v3.4.0
connecting to: mongodb://172.17.0.2:27017
2016-12-16T15:53:40.318+0100 W NETWORK [main] Failed to connect to 172.17.0.2:27017 after 5000 milliseconds, giving up.
2016-12-16T15:53:40.318+0100 E QUERY [main] Error: couldn't connect to server 172.17.0.2:27017, connection attempt failed :
[email protected]/mongo/shell/mongo.js:234:13
@(connect):1:6
exception: connect failed
난을
host$ docker run -p 27017:27017 -d --name mongodb-test mongodb-image
host$ docker ps
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ec958034a6f mongodb-image "/usr/bin/mongod --co" 4 seconds ago Up 3 seconds 0.0.0.0:27017->27017/tcp mongodb-test
는 IP-주소 찾기 ssh를 컨테이너에 넣으면 mongo에 연결하여 테스트 데이터베이스를 성공적으로 나열 할 수 있습니다.
매핑 된 포트를 28001로 지정했는데 왜 포트 27017에 연결하고 있습니까? – mustaccio
호스트의 브라우저에서'localhost : 28001'을 시도하십시오. – user2915097
28001은 다른 시도에서 복사 - 붙여 넣기 오류입니다. 나는 그 질문에서 27017로 바꿨다. 그리고 문제는 여전히 동일합니다. 힌트를 위해 thx @ mustaccio – delete