docker 컨테이너 내부의 데이터베이스에 연결하려고하며 다시 가정용 컴퓨터의 원격 서버에 연결하려고합니다. 도커 컨테이너 포트 27017
은 서버 시스템의 포트 27017
에 바인드됩니다.docker를 통한 인증 오류 pymongo
지금, 나는 누구의 목표는 내 집에있는 컴퓨터에서이 데이터베이스에 연결되는 Python3 스크립트가 : 나는 line 4
에 중지 내 스크립트를 실행하면
from pymongo import MongoClient
client=MongoClient('mongodb://myserverusername:[email protected]:27017')
database=client["my_collection"]
cursor=database["my_collection"].find({})
print(next(cursor))
을, 그것을 잘 작동,하지만 난 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!