我有一个Postgres镜像运行我的数据库,我将其作为Docker容器运行,我可以从psql连接到它,但当我从应用服务器连接到它时,我会收到以下错误:
org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
cpo-platform-server-cpo-platform-1 | at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:342)
cpo-platform-server-cpo-platform-1 | at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:54)
cpo-platform-server-cpo-platform-1 | at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:263)
cpo-platform-server-cpo-platform-1 | at org.postgresql.Driver.makeConnection(Driver.java:443)
cpo-platform-server-cpo-platform-1 | at org.postgresql.Driver.connect(Driver.java:297)
cpo-platform-server-cpo-platform-1 | at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
cpo-platform-server-cpo-platform-1 | at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
cpo-platform-server-cpo-platform-1 | at doobie.util.transactor$Transactor$FromDriverManagerUnapplied.$anonfun$apply$19(transactor.scala:378)
cpo-platform-server-cpo-platform-1 | at doobie.util.transactor$Transactor$FromDriverManagerUnapplied.$anonfun$create$2(transactor.scala:347)
cpo-platform-server-cpo-platform-1 | at blocking @ doobie.util.transactor$Transactor$FromDriverManagerUnapplied.$anonfun$create$1(transactor.scala:347)
cpo-platform-server-cpo-platform-1 | at fromAutoCloseable @ doobie.util.transactor$Transactor$FromDriverManagerUnapplied.$anonfun$create$1(transactor.scala:347)
cpo-platform-server-cpo-platform-1 | at fromAutoCloseable @ doobie.util.transactor$Transactor$FromDriverManagerUnapplied.$anonfun$create$1(transactor.scala:347)
cpo-platform-server-cpo-platform-1 | at use @ doobie.util.transactor$Transactor$$anon$4.apply(transactor.scala:164)
当我从一个运行应用程序服务器的Docker容器连接到另一个运行数据库的Docker集装箱时,有什么需要注意的吗?我使用docker compose来启动它们,如下所示:
services:
my-app:
image: me/my-app-server:1.1-SNAPSHOT
ports:
- 127.0.0.1:9000:9000
environment:
configEnv: test
my-db:
image: my-db-postgres-test-container
ports:
- 127.0.0.1:5432:5432
启动后,我可以使用psql连接到数据库,但通过应用程序服务器连接失败。凭据、数据库服务器等都配置正确,但仍然无法连接。
有什么想法吗?