Spring 当端口5432明显打开并正在侦听时,docker运行后,与localhost:5432的连接被拒绝?

Spring 当端口5432明显打开并正在侦听时,docker运行后,与localhost:5432的连接被拒绝?,spring,docker,maven,docker-compose,dockerfile,Spring,Docker,Maven,Docker Compose,Dockerfile,我有一个ci服务(特别是gitlab ci,如果有必要的话),它是docker-compose一个postgres实例,位于0.0.0:5432,这是我在dockerfile中运行的maven集成测试所需要的 由于某种原因,您可以看到堆栈跟踪,dockerfile maven集成测试无法连接到5432上打开的容器 为什么会发生这种情况?如何修复连接 FWIW,当我运行docker compose up并在本地(而不是在dockerfile中)运行集成测试时,一切都顺利通过 $docker ps

我有一个ci服务(特别是gitlab ci,如果有必要的话),它是docker-compose一个postgres实例,位于
0.0.0:5432
,这是我在dockerfile中运行的maven集成测试所需要的

由于某种原因,您可以看到堆栈跟踪,dockerfile maven集成测试无法连接到5432上打开的容器

为什么会发生这种情况?如何修复连接

FWIW,当我运行
docker compose up
并在本地(而不是在dockerfile中)运行集成测试时,一切都顺利通过

$docker ps
容器ID映像命令已创建状态端口名称
28d4ca05dd26 postgres:12.3“docker entrypoint.s…”27秒前上升22秒0.0.0.0:5432->5432/tcp*******************db_1
$docker run--名称**********************
07-07-2020 20:46:01.634[main]INFO com.zaxxer.hikari.HikariDataSource.getConnection-hikaripol-1-启动。。。
07-07-2020 20:46:02.721[main]错误com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException-HikariPool-1-池初始化期间异常。
org.postgresql.util.PSQLException:与本地主机的连接被拒绝:5432。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。
位于org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:280)
位于org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
位于org.postgresql.jdbc.PgConnection.(PgConnection.java:195)
位于org.postgresql.Driver.makeConnection(Driver.java:458)
位于org.postgresql.Driver.connect(Driver.java:260)
在com.zaxxer.hikari.util.DriverDataSource.getConnection上(DriverDataSource.java:136)
位于com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369)
在com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198)上
在com.zaxxer.hikari.pool.HikariPool.createPoolEntry上(HikariPool.java:467)
在com.zaxxer.hikari.pool.HikariPool.checkFailFast上(HikariPool.java:541)
在com.zaxxer.hikari.pool.HikariPool上。(HikariPool.java:115)
位于com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
位于org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:56)
位于org.flywaydb.core.internal.database.DatabaseFactory.createDatabase(DatabaseFactory.java:72)
位于org.flywaydb.core.Flyway.execute(Flyway.java:1670)
位于org.flywaydb.core.Flyway.migrate(Flyway.java:1356)
位于org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:65)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
位于org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:307)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
位于org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742)
位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:311)
位于org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:119)
位于org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
位于org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
位于org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
位于org.springframework.test.context.web.ServletTestExecutionListener.SetupRequestContextIfNeeded(ServletTestExecutionListener.java:190)
位于org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132)
位于org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
位于org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:97)
位于org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$InvokeTestistInstancePostProcessors$5(ClassTestDescriptor.java:349)
位于org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:215)
spring.datasource.url=jdbc:postgresql://db:5432/*****************db