ドッキング用のコンテナ内のデータベースに接続しようとしていますが、これは自宅のコンピュータのリモートサーバー内にあります。ドッカーコンテナポート27017
は、サーバマシンのポート27017
にバインドされています。認証エラーpymongo through docker
さて、私は目的の私の自宅のコンピュータからこのデータベースに接続されたのpython3スクリプトを持っている:
from pymongo import MongoClient
client=MongoClient('mongodb://myserverusername:[email protected]:27017')
database=client["my_collection"]
cursor=database["my_collection"].find({})
print(next(cursor))
私は私のスクリプトがline 4
に停止を実行した場合、それは正常に動作しますが、私はline 5
を発揮するとき、私は次のエラーが表示されます。
Traceback (most recent call last):
File "testDatabase.py", line 9, in <module>
print(next(cursor))
File "[...]/lib/python3.5/site-packages/pymongo/cursor.py", line 1132, in next
if len(self.__data) or self._refresh():
File "[...]/lib/python3.5/site-packages/pymongo/cursor.py", line 1055, in _refresh
self.__collation))
File "[...]/lib/python3.5/site-packages/pymongo/cursor.py", line 892, in __send_message
**kwargs)
File "[...]/lib/python3.5/site-packages/pymongo/mongo_client.py", line 950, in _send_message_with_response
exhaust)
File "[...]/lib/python3.5/site-packages/pymongo/mongo_client.py", line 961, in _reset_on_error
return func(*args, **kwargs)
File "[...]/lib/python3.5/site-packages/pymongo/server.py", line 99, in send_message_with_response
with self.get_socket(all_credentials, exhaust) as sock_info:
File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
return next(self.gen)
File "[...]/lib/python3.5/site-packages/pymongo/server.py", line 168, in get_socket
with self.pool.get_socket(all_credentials, checkout) as sock_info:
File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
return next(self.gen)
File "[...]/lib/python3.5/site-packages/pymongo/pool.py", line 852, in get_socket
sock_info.check_auth(all_credentials)
File "[...]/lib/python3.5/site-packages/pymongo/pool.py", line 570, in check_auth
auth.authenticate(credentials, self)
File "[...]/lib/python3.5/site-packages/pymongo/auth.py", line 486, in authenticate
auth_func(credentials, sock_info)
File "[...]/lib/python3.5/site-packages/pymongo/auth.py", line 466, in _authenticate_default
return _authenticate_scram_sha1(credentials, sock_info)
File "[...]/lib/python3.5/site-packages/pymongo/auth.py", line 209, in _authenticate_scram_sha1
res = sock_info.command(source, cmd)
File "[...]/lib/python3.5/site-packages/pymongo/pool.py", line 477, in command
collation=collation)
File "[...]/lib/python3.5/site-packages/pymongo/network.py", line 116, in command
parse_write_concern_error=parse_write_concern_error)
File "[...]/lib/python3.5/site-packages/pymongo/helpers.py", line 210, in _check_command_response
raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: Authentication failed.
私は間違っていますか?
Thans in advance!