如何从Windows 10主机访问Linux Docker容器的TCP端口

时间:2019-05-13 11:19:21

标签: linux docker tcp zeromq docker-for-windows

我已经在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

这里还有其他要求吗?

1 个答案:

答案 0 :(得分:0)

暴露3000端口后,是否有任何服务正在运行以监听?

或在docker run命令中使用-p 5000:5000