我有一个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
错误。
我认为这也是来自localhost
的rest1
PostgreSQL连接的一个问题。我有什么选择?
任何帮助深表感谢!
如果你把它们放在同一个容器中,那么localhost应该是正确的。
使用ps -e
检查它们是否已经启动。
无论出于何种原因,Connection Refused
错误是由Docker缺乏内存引起的。我增加了内存限制,一切都很好。希望这将有助于将来挣扎的人!