Stack Exchange
Не могу установить Подключение 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"]


так по container_name мб обращаться то надо?

а еще network: xxx пропишите одинаковый для контейнеров, и добавьте networks: -> xxx: -> driver: bridge в докер файл

не совсем понял ответа. Можете дополнить ту часть, чтобы я разобрался и в будущем не допускал такого рода ошибки.

я не специалист по докеру, но с виду не хватает объединения контейнеров в сеть.
В конец 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

