この例に従ってください: 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例外:接続に失敗しました
49155(doh、ポート転送)の代わりにポート27017を使用していました
0.0.0.0:49155->27017/tcp
ZeissSに感謝
正しいポートを指定しても、(私のような)dockerで実行されているmongodbに接続できない場合は、接続URLでサービス名(またはコンテナー名)を使用していることを確認してください。 mongodb://mongodb_service:27017/mydb
、これはdocker-compose.yml
:
services:
mongodb_service:
image: mongo
私はhostname
値を使用していましたが、それは正しいことではありません。これを確認するには、docker inspect mongodb_service
Aliases
セクション。
MacでDocker Machineを使用している場合は、次を実行します。
1。 VM running docker daemon $の名前を取得する ドッカーマシンls 2。 VMのIP情報を取得します $ docker-machine env 3。 mongoクライアントを使用して、VM IPおよびmongoマップポート $に接続します mongo VM-IP:ポート