可怕的Java SpringBoot应用程序没有使用Docker compose Java.net连接到MySQL。ConnectException:连接被拒绝
可怕的Java SpringBoot应用程序没有使用Docker compose Java.net连接到MySQL。ConnectException:连接被拒绝 大家好 我一直在努力解决以下问题-可怕的Java SpringBoot应用程序无法连接到MySQL,docker compose例外: com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 JDBCConnectionException:无法打开JDBC连接以执行DDL java.net.ConnectException:连接被拒绝 该应用程序本身运行良好,但一旦我进入Docker,它似乎就无法连接到mysql。 我快发疯了,因为我认为我所有的参数都是正确的,所以非常感谢您的帮助!(:可怕的Java SpringBoot应用程序没有使用Docker compose Java.net连接到MySQL。ConnectException:连接被拒绝,java,mysql,spring-boot,docker,docker-compose,Java,Mysql,Spring Boot,Docker,Docker Compose,可怕的Java SpringBoot应用程序没有使用Docker compose Java.net连接到MySQL。ConnectException:连接被拒绝 大家好 我一直在努力解决以下问题-可怕的Java SpringBoot应用程序无法连接到MySQL,docker compose例外: com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 JDBCConnectionException:无法打开JDBC连接以执行DDL
- 站台:
docker组装--构建--删除孤立项
My docker-compose.yml(注释掉的内容是我尝试过的内容):
版本:“3.8”
服务:
genesysmysql:
容器名称:genesysmysql
#容器名称:genesysmysql\u容器
图片:“mysql:8.0.21”
重新启动:始终
环境:
-MYSQL\u ROOT\u PASSWORD=ROOT
-MYSQL\u DATABASE=db\u示例
-MYSQL\u USER=springuser
-MYSQL\u PASSWORD=密码
端口:
- 3306:3306
卷数:
-./setup.sql:/docker entrypoint initdb.d/setup.sql:ro
健康检查:
测试:[“CMD”、“mysqladmin”、“ping”、“-h”、“localhost”]
超时时间:20秒
重试次数:20次
genesys:
生成:。
端口:
- 8080:8080
取决于:
genesysmysql:
状况:服务健康
环境:
-spring.datasource.jdbc url=jdbc:genesysmysql://db_example:3306?useSSL=false&allowPublicKeyRetrieval=true&autoReconnect=true
#-spring.datasource.jdbc url=jdbc:genesysmysql://db_example:3306?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&autoReconnect=true
-spring.datasource.driver类名=com.mysql.cj.jdbc.driver
#-spring.datasource.username=root
#-spring.datasource.password=root
#-spring.datasource.username=springuser
#-spring.datasource.password=密码
#-spring.jpa.hibernate.ddl auto=create drop
-spring.jpa.properties.hibernate.dialogue=org.hibernate.dialogue.mysql5dialogue
#-spring.data.jpa.repositories.enabled=true
#-spring.jpa.database platform=org.hibernate.dial.mysql5dial
#-spring.jpa.generate ddl=true
我的setup.sql脚本:
创建数据库db\u示例;
创建由“密码”标识的用户“springuser”@“%”;
将db_example.*上的所有内容授予“springuser”@“%”;
将db_示例。*上的所有内容授予“springuser”@“localhost”;
将db_示例中的所有内容授予'springuser'@'genesysmysql_容器';
将db_example.*上的所有内容授予'springuser'@'genesysmysql';
我的dockerfile:
来自OpenJDK/openjdk11:alpine的
维护者阿特库兹曼诺夫
运行addgroup-S spring&&adduser-S spring-G spring
用户spring:spring
ARG JAR_FILE=target/*.JAR
复制${JAR_FILE}app.JAR
曝光8080
入口点[“java”、“-jar”、“/app.jar”]
My application.properties文件:
弹簧特性
spring.application.name=@project.name@
#spring.output.ansi.console available=true
#server.port=8080
spring.output.ansi.enabled=始终
###春旗酒店
#spring.banner.location=classpath:banner.txt
#spring.main.banner模式=关闭
info.app.name=@project.name@
info.app.version=@project.version@
info.app.url=@project.url@
###弹簧驱动器特性
##不要在公共生产应用程序中公开或启用“关机”选项。
#management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=health、info、httptrace
###Spring开发工具属性
#spring.devtools.addproperties=false
#spring.devtools.restart.log条件评估delta=false
#spring.devtools.restart.enabled=false
#spring.devtools.livereload.enabled=false
###Spring日志记录属性
##调试时根据需要更改日志记录级别
logging.level.=警告
logging.level.customLogbackLevel=INFO
logging.level.org.springframework=WARN
logging.level.org.springframework.web.servlet.=错误
logging.level.org.hibernate=错误
logging.level.org.apache.catalina.core.ContainerBase.=WARN
###Spring分布式跟踪特性
##齐普金性质
spring.zipkin.enabled=true
spring.zipkin.base-url=http://127.0.0.1:9411/
##侦探财产
spring.sleuth.enabled=true
spring.sleuth.sampler.percentage=0.5
#spring.sleuth.web.skipPattern=(^cleanup.*.+favicon.*)
###Spring数据属性
##这些只是开始,应该在以后更改。
#spring.jpa.hibernate.ddl auto=none
spring.jpa.hibernate.ddl auto=update
spring.datasource.url=jdbc:mysql://${mysql\u HOST:localhost}:3306/db\u示例?usesssl=false&allowPublicKeyRetrieval=true
spring.datasource.username=springuser
spring.datasource.password=密码
#spring.jpa.properties.hibernate.dialogue=org.hibernate.dialogue.MySQL5
###Spring开放会话属性
###默认情况下,警告消息:
##“默认情况下,spring.jpa.open-in-view处于启用状态。
##因此,可以在视图渲染期间执行数据库查询。
##显式配置spring.jpa.open-in-view以禁用此警告“
##见:
##回复:spring.jpa.open-in-view警告
## -
## -
spring.jpa.openin-view=true
###弹簧的弹性特性
spring.thymeleaf.cache=false
以下是异常消息:
- 例外情况1:
- 备选案文2:
- 例外情况3:
- 例外情况4,它封装了所有这些:
{
“应用程序”:“GeneSys”,
“logMsgId”:“f7b6c3cc-0dce-4eb6-b6c3-cc0dce1eb69c”,
“@timestamp”:“2020-11-11T11:20:31.822Z”,
“@version”:“1”,
“记录器”:“org.springframework.boot.SpringApplication”,
“级别”:“错误”,
”“是的
MacOS Mojave 10.14.6
---
Docker version 19.03.13, build 4484c46d9d
docker-compose version 1.27.4, build 40524192
---
mysql Ver 8.0.21 for osx10.14 on x86_64 (Homebrew)
---
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)
---
Spring CLI v2.3.4.RELEASE
---
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T21:33:14+03:00)
Maven home: /usr/local/Cellar/maven@3.5/3.5.4_1/libexec
Java version: 11.0.8, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"