我一直在尝试在后端(在 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: {}
Run Code Online (Sandbox Code Playgroud)
我的应用程序属性:
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
Run Code Online (Sandbox Code Playgroud)
当我使用时docker-compose up,Spring Boot 无法识别容器名称test-mysql。它抛出:java.net.UnknownHostException
当我将其更改为IP时,它说连接被拒绝。我到处寻找但无法解决。我希望任何人都可以帮助我。谢谢你!