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. When my Spring container starts it throws a Connection Refused Exception.
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.
My Spring Config:
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:
#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!