Я пытался установить соединение между внутренним контейнером (работает на Spring Boot) и предварительно созданным контейнером MySQL. Тем не менее, я не могу заставить его подключиться. Мой docker составной файл:
version: '3.7'
services:
test-mysql:
image: mysql
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_DATABASE: testdb
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: root
backend:
depends_on:
- test-mysql
build:
context: backend
dockerfile: Dockerfile
ports:
- "8080:8080"
restart: always
volumes:
db_data: {}
my application.properties:
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.datasource.url=jdbc:mysql://test-mysql:3306/testdb?autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=test
spring.datasource.password=test
Когда я использую docker-compose up
, Spring Boot не может распознать имя контейнера test-mysql
. Выдает: java.net.UnknownHostException
Когда я изменяю его на IP, он говорит, что соединение отказано. Я искал везде и не мог прийти с исправлением. Я надеюсь, что кто-нибудь может мне помочь. Спасибо!