内部Tomcat REST从Docker容器内部调用localhost

问题描述 投票:1回答:2

我有一个dockerfile,它运行一个Tomcat 7 Web服务器,它有两个REST API,一个PostgreSQL数据库和一个Apache上的Django站点。 (我知道最佳实践建议将它们作为单独的容器运行,但我想将整个系统打包为非开发人员可用性的一个容器)。

我的一个REST API通过端点http://localhost:8080/rest2/insert调用其他REST API。但是,在Docker的bridge mode中,localhost指的是主机,而不是容器。

我试过硬编码容器ip 172.17.0.2但我仍然得到一个Connection Refused错误。

我认为这也是来自localhostrest1 PostgreSQL连接的一个问题。我有什么选择?

任何帮助深表感谢!

docker tomcat dockerfile
2个回答
0
投票

如果你把它们放在同一个容器中,那么localhost应该是正确的。

使用ps -e检查它们是否已经启动。


0
投票

无论出于何种原因,Connection Refused错误是由Docker缺乏内存引起的。我增加了内存限制,一切都很好。希望这将有助于将来挣扎的人!

© www.soinside.com 2019 - 2024. All rights reserved.