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 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アドレスを探す:
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
I sshをコンテナに挿入すると、mongoに接続してテストデータベースを正常にリストすることができます。
マップされたポートを28001と指定しました。なぜポート27017に接続していますか? – mustaccio
ホストのブラウザで 'localhost:28001'を試してください – user2915097
28001は別の試行のコピー・ペースト・エラーでした。私は質問で27017に置き換えました。そして問題は同じbtwのままです。ヒントのためのthx @ mustaccio – delete