访问Docker中托管的Windows服务

时间:2019-03-27 16:31:55

标签: docker networking windows-container

我有一个窗口服务,该窗口服务出于某些原因公开了端口。我正在让它在容器中运行,但是似乎无法在容器外部连接到应用程序。 我这样运行容器:

docker run --net=nat -p:8080:8080 [container] 

在服务器侦听的代码中,使用

    _listener = new TcpListener((IPEndPoint)listenEndPoint);//localhost,8080

如果我连接到容器并运行powershell命令以确认端口已打开并正在侦听,则它可以工作。 这是powershell命令:

New-Object System.Net.Sockets.TcpClient("127.0.0.1", 8080)

需要更多配置才能使连接正常工作吗?

编辑:在同一服务中,我通过上面的代码监听TCP客户端,我托管了WCF端点。可以解决。

1 个答案:

答案 0 :(得分:0)

容器的环回接口不同于主机的环回接口。如果您在容器上运行服务,则应将其绑定到“ 0.0.0.0”;这将确保容器实际上正在侦听主机上绑定到的端口。