У меня проблемы с подключением с моего хост-компьютера (macOS 10.14.5) к mongod
, работающему внутри контейнера Docker (Docker версия 18.09.2, сборка 6247962). Я запускаю контейнер, используя опцию --network host
, и задаю mongod
для прослушивания 0.0.0.0
.
docker run --network host --name testmongo -it mongo:latest /bin/bash
root@linuxkit-025000000001:/# mongod --bind_ip 0.0.0.0
2019-06-07T00:28:56.227+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] MongoDB starting : pid=13 port=27017 dbpath=/data/db 64-bit host=linuxkit-025000000001
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] db version v4.0.10
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] allocator: tcmalloc
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] modules: none
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] build environment:
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] distmod: ubuntu1604
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] distarch: x86_64
2019-06-07T00:28:56.232+0000 I CONTROL [initandlisten] target_arch: x86_64
2019-06-07T00:28:56.233+0000 I CONTROL [initandlisten] options: { net: { bindIp: "0.0.0.0" } }
Теперь я ожидаю, что смогу получить доступ к localhost:27017
на своем хост-компьютере и подключиться к серверу mongod
, но я продолжаю получать ответ Connection Refused
. От jupyter console
и использования pymongo
:
In [1]: import pymongo
In [2]: client = pymongo.MongoClient(host='localhost', port=27017)
In [3]: client.list_database_names()
---------------------------------------------------------------------------
ServerSelectionTimeoutError Traceback (most recent call last)
<ipython-input-3-62f658703d98> in <module>
----> 1 client.list_database_names()
[LONG ERROR MESSAGE]
ServerSelectionTimeoutError: localhost:27017: [Errno 61] Connection refused
Любое понимание того, что я делаю здесь, очень ценится.