我已经创建了一个简单的 Spring 启动应用程序,通过Docker使用相同的网络与MYSQL通信。一旦我运行docker-composite up命令,则发生以下错误。java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up
(https://i.stack.imgur.com/gwUuG.png)
version: "3.8"
services:
project:
build: .
ports:
- "8080:8080"
environment:
-SPRING_DATASOURCE_URL: jdbc:mysql://mysqldb:3306/spring?autoReconnect=true&useSSL=false
depends_on:
- mysqldb
mysqldb:
image: mysql:8
ports:
- 33066:3306
environment:
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_DATABASE=spring
volumes:
- spring:/data/db
volumes:
spring:
这是我的yaml文件
spring.datasource.url=jdbc:mysql://localhost:3306/spring?
serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=1234
spring.jpa.database=mysql
server.error.include-message=always
server.error.include-binding-errors=always
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = create
这是我的应用程序属性文件
我试着一遍又一遍地重新创建,修剪Docker中的所有文件(网络图像容器)。尝试通过终端创建网络。
1条答案
按热度按时间9lowa7mx1#
如果您添加
pom.xml
或gradle
配置和application.yml
,则会更有帮助。但是,请确保具有以下内容:1.与兼容版本的正确依赖关系:
在
application.properties
中如果您在本地运行应用程序,则host将是localhost,如果您的spring Boot 在容器中,则应该是您提到的
mysqldb
。您的
docker-compose.yml