Не могу установить Подключение MYSQL к docker compose

начал изучать DOCKER и решил свой проект связать с ним. Пишу проект на SPRING BOOT, база MySql В ходе попытки решения у меня возникли ошибки такие как "Communication link error" "Acces Denied for user(using password NO) либо просто когда запкскаю проект через docker-compose up он ничего больше не выводит и на сайте выводит как обычно: Не удается получить доступ к сайту

server.port=8080
spring.datasource.url=jdbc:mysql://mysql:3306/finalproject
spring.liquibase.url=jdbc:mysql://mysql:3306/finalproject
spring.liquibase.user=root
spring.liquibase.password=root
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
spring.liquibase.changeLog=classpath:/db/changelog/db.changelog-master.xml
version: '3'

services:
  mysql:
    image: mysql:latest
    container_name: mysql_finalproject
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: finalproject
      MYSQL_USER: root
      MYSQL_PASSWORD: 
    ports:
      - "3306:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql

  spring-app:
    image: new-image
    container_name: spring_app
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/finalproject
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: 
      SPRING_LIQUIBASE_URL: jdbc:mysql://mysql:3306/finalproject
      SPRING_LIQUIBASE_USER: root
      SPRING_LIQUIBASE_PASSWORD: 
    ports:
      - "8080:8080"
    depends_on:
      - mysql

Dockerfile

FROM openjdk:17-oracle
MAINTAINER Takhirzhan
COPY StayHub.jar myFinalProject.jar
ENTRYPOINT ["java", "-jar","myFinalProject.jar"]

Ответы (1 шт):

Автор решения: teran

я не специалист по докеру, но с виду не хватает объединения контейнеров в сеть. В конец docker-compose.yaml дописать сеть:

networks:
   final_net:          <--- ваше название
       driver: bridge

Далее эту сеть указать обоим контейнерам

services:
  mysql:
    ...
    networks:
       - final_net
  spring-app:
    ...
    networks:
      - final_net

Далее при настройке подключения к БД, надо указать имя контенйра, которое вы задаете в container_name. То есть строка подключения должна иметь вид

jdbc:mysql://mysql_finalproject:3306/finalproject
→ Ссылка