【发布时间】:2019-07-07 01:01:28
【问题描述】:
我在 docker 容器中运行一个应用程序,而 JBoss-4.2 服务器的 server.xml 中的主机是“localhost”。
这个命令
curl -v localhost:8090/
建立连接但返回“HTTP/1.1 400 No Host matches server name localhost” 和
cat /etc/hosts
给了
127.0.0.1 本地主机
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 5f6b9e76d025
127.0.0.1 endpoint.used.bytheapp
有什么建议吗?
【问题讨论】:
-
看起来您显示了容器的 /etc/hosts。但是,如果您从主机执行 curl 命令,它将从主机的 /etc/hosts 中的 localhost 查找。里面有没有localhost?
-
@Marvin curl 是从容器内部启动的
-
那么8090是从哪里来的呢? 8080 是 JBOSS 的默认端口。你能提供你的 Dockerfile 和/或 jboss conf 吗?这会更容易理解。另外,“curl 127.0.0.1:8090”是否在您的主机上工作?