I am trying to connect the container of my springboot application with the container of a mysql image using docker-compose, however when I run docker-compose up my terminal starts a loop where it starts the spring application, try to connect with the MySQL container, fails and keep trying. The error that I get is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failures
docker-compose file:
version: '3.8'
services:
  mysqldb:
    image: mysql
    platform: linux/x86_64
    env_file: ./.env
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=$MYSQLDB_ROOT_PASSWORD
      - MYSQL_DATABASE=$MYSQLDB_DATABASE
    ports:
      - $MYSQLDB_LOCAL_PORT:$MYSQLDB_DOCKER_PORT
    volumes:
      - db:/var/lib/mysql
  app:
    depends_on:
     - mysqldb
    build: .
    restart: always
    env_file: ./.env
    ports:
      - $APP_LOCAL_PORT:$APP_DOCKER_PORT
    environment:
      - DB_HOST=mysqldb
      - DB_USER=$MYSQLDB_USER
      - DB_PASSWORD=$MYSQLDB_ROOT_PASSWORD
      - DB_NAME=$MYSQLDB_DATABASE
      - DB_PORT=$MYSQLDB_DOCKER_PORT
    stdin_open: true
    tty: true
volumes: 
  db:
.env:
MYSQLDB_USER=root
MYSQLDB_ROOT_PASSWORD=12345678
MYSQLDB_DATABASE=dronefeederdb
MYSQLDB_LOCAL_PORT=3306
MYSQLDB_DOCKER_PORT=3306
APP_LOCAL_PORT=8080
APP_DOCKER_PORT=8080
Application.yaml:
server:
  port: 8080
spring:
    datasource:
        username: ${DB_USER}
        password: ${DB_PASSWORD}
        url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}
    jpa:
        hibernate:
            ddl-auto: update
        show-sql: true
        open-in-view: false
        #https://ia-tec-development.medium.com/lombok-e-spring-data-jpa-142398897733
    security.user:
        name: dronefeeder
        password: dronefeeder
        #https://www.baeldung.com/spring-boot-security-autoconfiguration
resilience4j.circuitbreaker:
  configs:
    default:
      waitDurationInOpenState: 10s
      failureRateThreshold: 10
  #instances:
    #estudantes:
      #baseConfig: default
Dockerfile:
FROM openjdk:11.0-jdk as build-image
WORKDIR /app
COPY . .
RUN ./mvnw clean package -DskipTests
FROM openjdk:11.0-jre
COPY --from=build-image /app/target/*.jar /app/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar"]
Repository link: https://github.com/julia-baptista/dronefeeder/tree/docker-configuration
 
     
    
