编辑:我需要将与容器配对的DOCKER虚拟机的端口转发到本地计算机的同一端口。
我试图从使用REST API的docker工具箱容器上本地托管的模型的张量流服务获得响应,并且从我的主机连接到它的任何尝试均收到错误消息。我已经竭尽全力想尝试或寻找解决问题的方法。
我试图同时连接localhost:8501和docker的IP地址192.168.99.101:8501或117.17.0.2:8501容器的IP地址都没有成功。
这里是一张imgur相册,其中包含与我的问题有关的更多详细信息,以提供更多背景信息,包括docker机器详细信息,容器详细信息,我尝试的POST和GET请求,VirtualBox统计信息和容器的日志:{{3 }}
在所有这些尝试中,我还尝试禁用防火墙。
我可以成功ping 192.168.99.101,但不能ping 192.168.99.101:2376或192.168.99.101:8501。
当我进入Docker容器并运行tensorflow_model_server命令时,出现另一个错误,该错误位于imgur画廊的开头。
我的主机操作系统是Windows 10家庭版。
我真的不确定问题是否是网络问题,即虚拟盒子不应该拒绝连接,或者它是否可能是张量流服务方面的问题。
感谢您的任何帮助!
Traceback (most recent call last):
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connection.py", line 171, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\util\connection.py", line 79, in create_connection
raise err
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\util\connection.py", line 69, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Users\Charles\Anaconda3\lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\Charles\Anaconda3\lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\Charles\Anaconda3\lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\Charles\Anaconda3\lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\Users\Charles\Anaconda3\lib\http\client.py", line 964, in send
self.connect()
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connection.py", line 196, in connect
conn = self._new_conn()
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connection.py", line 180, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x000002902F3DECC0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\adapters.py", line 445, in send
timeout=timeout
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Users\Charles\Anaconda3\lib\site-packages\urllib3\util\retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=8501): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000002902F3DECC0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Charles/PycharmProjects/spamreader/test4.py", line 3, in <module>
out = requests.get("http://localhost:8501")
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\sessions.py", line 512, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\sessions.py", line 622, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Charles\Anaconda3\lib\site-packages\requests\adapters.py", line 513, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8501): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000002902F3DECC0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it',))
泊坞窗中的错误消息:
> --model_name=prod_mod --model_base_path=/models/prod_mod
2019-01-22 05:21:16.214490: I tensorflow_serving/model_servers/server.cc:82] Building single TensorFlow model file config: model_name: prod_mod model_base_path: /models/prod_mod
2019-01-22 05:21:16.215026: I tensorflow_serving/model_servers/server_core.cc:461] Adding/updating models.
2019-01-22 05:21:16.215231: I tensorflow_serving/model_servers/server_core.cc:558] (Re-)adding model: prod_mod
2019-01-22 05:21:16.334858: I tensorflow_serving/core/basic_manager.cc:739] Successfully reserved resources to load servable {name: prod_mod version: 1}
2019-01-22 05:21:16.335783: I tensorflow_serving/core/loader_harness.cc:66] Approving load for servable version {name: prod_mod version: 1}
2019-01-22 05:21:16.336508: I tensorflow_serving/core/loader_harness.cc:74] Loading servable version {name: prod_mod version: 1}
2019-01-22 05:21:16.337655: I external/org_tensorflow/tensorflow/contrib/session_bundle/bundle_shim.cc:363] Attempting to load native SavedModelBundle in bundle-shim from: /models/prod_mod/1
2019-01-22 05:21:16.338101: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:31] Reading SavedModel from: /models/prod_mod/1
2019-01-22 05:21:16.355285: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:54] Reading meta graph with tags { serve }
2019-01-22 05:21:16.367139: I external/org_tensorflow/tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-01-22 05:21:16.405369: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:162] Restoring SavedModel bundle.
2019-01-22 05:21:16.550336: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:138] Running MainOp with key saved_model_main_op on SavedModel bundle.
2019-01-22 05:21:16.571837: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:259] SavedModel load for tags { serve }; Status: success. Took 233732 microseconds.
2019-01-22 05:21:16.572396: I tensorflow_serving/servables/tensorflow/saved_model_warmup.cc:83] No warmup data file found at /models/prod_mod/1/assets.extra/tf_serving_warmup_requests
2019-01-22 05:21:16.578072: I tensorflow_serving/core/loader_harness.cc:86] Successfully loaded servable version {name: prod_mod version: 1}
2019-01-22 05:21:16.579211: I tensorflow_serving/model_servers/server.cc:286] Running gRPC ModelServer at 0.0.0.0:8500 ...
[warn] getaddrinfo: address family for nodename not supported
[evhttp_server.cc : 222] RAW: Couldn't bind to port 8501
Aborted (core dumped)
root@dce94d95c992:/#
答案 0 :(得分:0)
主要是因为您尝试连接的服务器未运行。当我尝试使用mongo创建Flask应用程序时,出现了完全相同的错误。我收到了两次,因为我的mongo服务器未运行,并且我试图连接到它,而下一次,当我试图连接到另一个未运行的服务器时,我得到了它。因此,请检查您的服务器。
如果主机或端口错误,也会发生这种情况。
如果找到其他解决方案,请告知。