我已经在Windows 10上为Windows安装了Docker。我在docker上运行Linux容器。我有一个具有ZeroMQ的python应用程序,该应用程序具有在端口3000上侦听的zmq服务器。我想从部署在Windows主机上的c#应用程序发送图像,以连接到在docker linux容器上运行的zmq应用程序,并使用zeromq通过tcp发送图像。 我无法从Windows应用程序访问容器tcp端口。 请指教。
我尝试了以下方法:
C:\Windows\system32>docker run -p 3000:3000 server-zmq10 docker:
守护程序的错误响应:
driver failed programming external connectivity on endpoint condescending_kilby
(fc383d60832ae98a5601ba62e215a4033936f74b64577ca6b14f7c47f1f27f9a): Error starting
userland proxy: mkdir /port/tcp:0.0.0.0:3000:tcp:172.17.0.2:3000: input/output error.
Python代码:
context = zmq.Context()
socket = context.socket(zmq.REP)
print('Binding to port 3000')
socket.bind("tcp://127.0.0.1:3000")
创建映像时,我已经在DockerFIle上完成了
EXPOSE 3000
这里还有其他要求吗?
答案 0 :(得分:0)
暴露3000端口后,是否有任何服务正在运行以监听?
或在docker run命令中使用-p 5000:5000