docker Mule服务器curl:(56)Recv故障:对等方重置连接

docker Mule服务器curl:(56)Recv故障:对等方重置连接,mule,docker,Mule,Docker,这可能只是我对Docker的初步了解, 但我无法让网络正常工作 我正在尝试通过pr3d4t0r/Mule存储库运行Mule服务器。 我可以运行它,热插拔应用程序,但我可以访问它 我可以在没有Docker的情况下运行本地服务器,而且它工作得完美无缺。 但当我和Docker一起尝试时就不是了 当我尝试执行一个简单的curl命令时,我得到“curl:(56)Recv failure:connectionresetbypeer” 我曾尝试通过-p和单独通过-p8090:8090暴露端口,但没有成功 当d

这可能只是我对Docker的初步了解, 但我无法让网络正常工作

我正在尝试通过pr3d4t0r/Mule存储库运行Mule服务器。 我可以运行它,热插拔应用程序,但我可以访问它

我可以在没有Docker的情况下运行本地服务器,而且它工作得完美无缺。 但当我和Docker一起尝试时就不是了

当我尝试执行一个简单的curl命令时,我得到“curl:(56)Recv failure:connectionresetbypeer”

我曾尝试通过-p和单独通过-p8090:8090暴露端口,但没有成功

当docker运行时,它会阻塞端口(我尝试同时运行docker和普通服务器,但普通服务器表示端口已经在使用中)

当我尝试另一个像jboss/wildfly这样的图像时,我使用-p8080:8080没有问题,它工作得非常好

mule服务器中的应用程序将记录并响应一个简单的“hello World”,输出表示应用程序已部署,但在我尝试访问它时没有消息或日志记录


有什么建议吗?

在我的例子中,实际上是应用程序配置不正确。它以localhost作为主机。如果没有这个,它应该是0.0.0.0,它只在localhost(也称为docker容器)上运行,而不是从外部运行

您不需要使用-net=host


因此,请检查是否有配置

如果您有此配置,请注释或删除它,
应用程序中的server.address=localhost
。应用程序中的属性。属性需要设置为0.0.0.0 ip而不是127.0.0.0

错误

"curl: (56) Recv failure: Connection reset by peer"
表示docker映像中没有进程侦听端口。选项
-p
是主机系统中端口和映像的绑定

-p <port in host os to be binded to>:<port in container>

这对我来说也很有效,但这个变通办法并不能解释原因(有人知道为什么端口转发不起作用吗?在我的例子中,我使用Spring Boot并得到错误“Recv failure:Connection reset by peer”@Trevoralred:我想这是因为docker network使用自己的网络名称空间,所以容器的127.0.0.1与主机的127.0.0.1不一样。在哪里配置这个?
-p <port in host os to be binded to>:<port in container>
-p 8080:8090