I have a docker compose which contains the following instructions :
version: '3.8'
services:
mysql-standalone:
container_name: marqueblanchebd
image: marqueblanchebd:latest
ports:
- "3307:3306"
volumes:
- data:/var/lib/mysql
spring-boot:
image: testmb
container_name: mbwebservice
ports:
- "8091:8080"
build:
context: .
dockerfile: Dockerfile
depends_on:
- mysql-standalone
environment:
SPRING_DATASOURCE_PASSWORD: ramses2021
SPRING_DATASOURCE_URL: jdbc:mysql://marqueblanchebd:3307/marque_blanche?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME: root
volumes:
- ./:/uploads/deployment
volumes:
data:
when i run docker-compose up the following error occurs from my springboot project: Caused by: java.net.ConnectException: Connection refused (Connection refused)
But when i put the default mysql port 3306 ("3306:3306") in docker-compose file, my springboot project connects itself successfully to my database container. Here is my mysql dockerfile :
FROM mysql:latest
EXPOSE 3307
ENV MYSQL_DATABASE=marque_blanche
ENV MYSQL_ROOT_PASSWORD=ramses2021
ADD marque_blanche.sql /docker-entrypoint-initdb.d