web-dev-qa-db-ja.com

Dockerコンテナで実行されているmongoDBに接続できません

この例に従ってください: https://docs.docker.com/engine/examples/mongodb/

以下を使用してmongoDBに接続しようとすると、mongo ip:27017(ipはboot2docker ipの名前)+ docker psのポート番号:

27017/tcp
または-Pを使用
0.0.0.0:49155->27017/tcp

いずれにしても、次のエラーが表示されます。

警告:ip:27017への接続に失敗しました。理由:errno:61接続が拒否されました

エラー:サーバーip:27017(ip)に接続できませんでした。src/ mongo/Shell/mongo.jsでの接続試行は失敗しました:148例外:接続に失敗しました

22
Chris G.

49155(doh、ポート転送)の代わりにポート27017を使用していました

0.0.0.0:49155->27017/tcp

ZeissSに感謝

13
Chris G.

正しいポートを指定しても、(私のような)dockerで実行されているmongodbに接続できない場合は、接続URLでサービス名(またはコンテナー名)を使用していることを確認してください。 mongodb://mongodb_service:27017/mydb、これはdocker-compose.yml

services:
  mongodb_service:
    image: mongo

私はhostname値を使用していましたが、それは正しいことではありません。これを確認するには、docker inspect mongodb_serviceAliasesセクション。

21
falsecrypt

MacでDocker Machineを使用している場合は、次を実行します。

 1。 VM running docker daemon 
 $の名前を取得する ドッカーマシンls
 
 2。 VMのIP情報を取得します
 $ docker-machine env 
 
 3。 mongoクライアントを使用して、VM IPおよびmongoマップポート
 $に接続します mongo VM-IP:ポート
11
VMTrooper