mysql - Docker SpringBoot MySql:驱动没有从服务器收到任何数据包
问题描述
我正在尝试使用docker创建一个spring boot api和mysql数据库,但是我遇到了这个我无法解决的错误。我尝试更改端口,但无济于事,似乎我的应用程序容器无法填充 mysql 数据库。
Docker文件:
FROM openjdk:11
ARG PROFILE
ARG ADDITIONAL_OPTS
ENV PROFILE=${PROFILE}
ENV ADDITIONAL_OPTS=${ADDITIONAL_OPTS}
WORKDIR /opt/spring_boot
COPY target/*.jar app.jar
SHELL ["/bin/sh", "-c"]
EXPOSE 5005
EXPOSE 8080
CMD java ${ADDITIONAL_OPTS} -jar app.jar --spring.profiles.active=${PROFILE}
ENTRYPOINT ["java","-jar","app.jar"]
码头工人撰写:
version: '3'
services:
spring_boot_com_mysql:
build:
context: ./
dockerfile: ./Dockerfile
image: spring_boot_com_mysql/api
ports:
- '8080:8080'
- '5005:5005'
environment:
- ADDITIONAL_OPTS=-agentlib:jdwp=transport=dt_socket, server=y, suspend=n, address=*:5005 -Xmx16 -Xms128m -XX:MaxMetaspaceSize=128m
- PROFILE=dev
links:
- db
db:
image: mysql:latest
ports:
- '3306:3306'
environment:
- MYSQL_ROOT_HOST=%
- MYSQL_DATABASE=spring_boot_mysql
- MYSQL_USER=root
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
volumes:
- ./docker/volume_mysql:/var/lib/mysql
应用程序属性
spring.datasource.url=jdbc:mysql://db:3306/spring_boot_mysql
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.name=SpringBootMySqlDataSource
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.show-sql=true
spring.datasource.hikari.pool-name=SpringBootMySqlPool
spring.datasource.hikari.connection-test-query=select now();
spring.datasource.hikari.maximum-pool-size=5
spring.datasource.hikari.minimum-idle=1
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.idle-timeout=10000
完整错误:
最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java: 246) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.22.jar!/:8.0.22] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar!/:na] spring_boot_com_mysql_1 | 在 org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:57) ~[flyway-core-7.1.1.jar!/:na] spring_boot_com_mysql_1 | 在 org.flywaydb.core.internal.jdbc.JdbcConnectionFactory.(JdbcConnectionFactory.java:69) ~[flyway-core-7.1.1.jar!/:na] spring_boot_com_mysql_1 | 在 org.flywaydb.core.Flyway.execute(Flyway.java:475) ~[flyway-core-7.1.1.jar!/:na] spring_boot_com_mysql_1 | 在 org.flywaydb.core.Flyway.migrate(Flyway.java:164) ~[flyway-core-7.1.1.jar!/:na] spring_boot_com_mysql_1 | 在 org.springframework.boot.autoconfigure。flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66) ~[spring-boot-autoconfigure-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support。AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.1.jar!/:5.3. 1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1161) ~[spring-context-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:915) ~[spring-context-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext. java:588) ~[spring-context-5.3.1.jar!/:5.3.1] spring_boot_com_mysql_1 | 在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.0.jar!/:2.4. 0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1309) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1298) ~[spring-boot-2.4.0.jar!/:2.4.0] spring_boot_com_mysql_1 | 在 com.telles.loteriasapi.LoteriasApiApplication.main(LoteriasApiApplication.java:10) ~[classes!/:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] spring_boot_com_mysql_1 | 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] spring_boot_com_mysql_1 | 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na: na] spring_boot_com_mysql_1 | 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:107) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[app.jar:0. 1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:107) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[app.jar:0. 1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:107) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:0.0.1-SNAPSHOT] spring_boot_com_mysql_1 | 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[app.jar:0.
解决方案
推荐阅读
- angular - 角路由器链接不起作用
- php - 用 2 个表查询 eloquent
- jquery - 如果键入的最后 2 个字符是 /c 则执行此 jquery
- react-redux - 正则表达式大小写敏感性不适用于 Redux-Forms
- java - 检查用户是否来自意图
- javascript - Vis.js 时间轴无法切换嵌套组
- android - testCoverageEnabled 时未找到测试
- python - Django REST Framework Jalali 日期兼容性问题
- spring-aop - AWS XRay 记录器尝试在启动时检测类
- node.js - Typescript中out目录的目录结构相同,如何?