[英]Spring App Connection Refused in Docker Composition
building a container-based web-app right now and facing following problem:现在构建一个基于容器的网络应用程序并面临以下问题:
My Spring app depends on a mariaDB container to be fully up and running.我的 Spring 应用程序依赖于 mariaDB 容器才能完全启动并运行。 When my Spring container starts it throws a Connection Refused Exception.
当我的 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]
Even on a reconnect time of 30 seconds I get the connection refused exceptions.即使重新连接时间为 30 秒,我也会收到连接被拒绝的异常。
My Spring Config:我的 Spring 配置:
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
docker compose: docker 组成:
#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
I hope it's something you guys can help me with.我希望这是你们可以帮助我的事情。
Cheers!干杯!
add depends_on
to waterloo app in the docker-compose file.将
depends_on
添加到docker-compose 文件中的滑铁卢应用程序。
Example:例子:
waterloo:
container_name: waterloo
image: docker.pkg.github.com/magister-media/waterloo/waterloo:dev
ports:
- 8085:8085
depends_on:
- "waterloo-db"
Docker docs . Docker文档。 about
depends_on
:关于
depends_on
:
Express dependency between services.
表达服务之间的依赖关系。 Service dependencies cause the following behaviors:
服务依赖会导致以下行为:
docker-compose up starts services in dependency order.
docker-compose up 按依赖顺序启动服务。 In the following example, db and redis are started before web.
在以下示例中,db 和 redis 在 web 之前启动。 docker-compose up SERVICE automatically includes SERVICE's dependencies...
docker-compose up SERVICE 自动包含 SERVICE 的依赖...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.