Docker组合中拒绝Spring应用程序连接



现在正在构建一个基于容器的web应用程序,并面临以下问题:

我的Spring应用程序依赖于mariaDB容器才能完全启动并运行。当我的Spring容器启动时,它抛出一个连接拒绝异常。

java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=waterloo-db)(port=9003)(type=master) : Socket fail to connect to host:waterloo-db, port:9003. Connection refused (Connection refused)
waterloo            |   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) ~[mariadb-java-client-2.6.1.jar!/:na]
waterloo            |   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:192) ~[mariadb-java-client-2.6.1.jar!/:na]

即使在30秒的重新连接时间内,我也会收到拒绝连接的异常。

我的春季配置:

datasource:
url: jdbc:mariadb://waterloo-db:9003/waterloo?autoReconnect=true
username: waterloo
password: xxx
driver-class-name: org.mariadb.jdbc.Driver
tomcat:
test-on-borrow: true
validation-query: SELECT 1
validation-interval: 30000

码头工人组成:

#Waterloo
#waterloo-db
waterloo-db:
container_name: waterloo-db
image: mariadb
ports:
- 9003:3306
volumes:
- ./waterlooDB:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: waterloo
MYSQL_USER: waterloo
MYSQL_PASSWORD: xxx
healthcheck:
test: ["CMD", "mysqladmin", "ping", "--silent"]

waterloo:
container_name: waterloo
image: docker.pkg.github.com/magister-media/waterloo/waterloo:dev
ports:
- 8085:8085

我希望你们能帮我。

干杯!

在docker compose文件中将depends_on添加到waterloo应用程序中。

示例:

waterloo:
container_name: waterloo
image: docker.pkg.github.com/magister-media/waterloo/waterloo:dev
ports:
- 8085:8085
depends_on: 
- "waterloo-db"

Docker文档。关于depends_on:

表示服务之间的依赖关系。服务依赖关系导致以下行为:

docker compose-up按依赖顺序启动服务。在以下示例中,db和redis在web之前启动。码头工人up SERVICE自动包括SERVICE的依赖项。。。

最新更新