我正在部署两个Testcontainer,一个带有PostgreSQL映像(12.0),另一个带有Keycloak(8.0.0)。

PostgreSQL成功启动,但是当Keycloak尝试连接到PostgreSQL时,连接被拒绝。

我将所有环境变量放入Keycloak以连接到该PostgreSQL容器

withEnv("DB_VENDOR", "postgres");
withEnv("DB_DATABASE", KeycloakDS);
withEnv("DB_SCHEMA", test);
withEnv("DB_USER", postgres);
withEnv("DB_PASSWORD", keycloak);
withEnv("DB_ADDR", postgres);
withEnv("DB_PORT", ${DB_PORT});
withEnv("KEYCLOAK_USER", admin);
withEnv("KEYCLOAK_PASSWORD", admin);


其中$ {DB_PORT}是PostgreSQL部署的端口,而DB_ADDR是PostgreSQL容器在我建立的网络中拥有的别名,这两个容器都在其中。

我想念什么吗?
有人也尝试过成功吗?

提前致谢。

最佳答案

${DB_PORT}必须为5432,因为您直接连接到容器而不是通过裸露的端口连接。

08-27 09:33