Docker – curl返回“连接重置”
我有一个虚拟机中的docker主机。 主机是boot2docker 1.10-rc1。 和一个来自centOS 7.2映像的容器。
我试图在容器中运行一些应用程序。 我开始了这两个应用程序,并检查networking状态:
[root@564f3e59142b logs]# netstat -lnput Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:41656 0.0.0.0:* LISTEN 11995/BmtMDProvider tcp6 0 0 :::44027 :::* LISTEN 4405/java
两个应用程序都提供了一些HTTP服
当我curl两个应用程序(在同一个容器内):
java的响应是OK的
[root@564f3e59142b logs]# curl 127.0.0.1:44027 curl: (52) Empty reply from server
但在BmtMDProvider我得到了“连接重置由同伴”即时。 这是一个HTTP服务的URL,它不应该返回一个“连接重置”。
[root@564f3e59142b logs]# curl 127.0.0.1:41656 curl: (56) Recv failure: Connection reset by peer
BmtMDProvider是来自第三方的一些应用程序(我无法修改它),并在“真实”机器上正常工作。
我能否提出一些build议,指导或诊断步骤以找出“连接重置”的来源? 谢谢。
编辑:BmtMDProvider是一个由java产生的进程,它有一个随机的端口。 可能是BmtMDProvider的多个实例。 java通过http访问BmtMDProvider(它们在同一个docker容器中,而java得到了“connection reset”,就像curl一样)
尝试使用IPV4端口运行您的容器,这意味着如果您正在运行使用
$ docker run -p 41656:41656 BmtMDProvider
运行它
$ docker run -p 127.0.0.1:41656:41656 BmtMDProvider