我试图按项目进行dockerize,但是当我试图运行docker-comush up时,我的数据库会因为错误而失败:com.mysql.cj.jdbc.exceptions.通信异常:通信链接失败。我尝试了许多解决方案,但都不起作用。
我的码头工人。yml文件:
version: "3"
services:
database:
platform: linux/x86_64
container_name: 'mysql'
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_PASSWORD: p@ssword
MYSQL_USER: testUser
MYSQL_DATABASE: testDatabase
ports:
- "3306:3306"
networks:
- mysql-db
maildev:
image: maildev/maildev
ports:
- "1080:80"
web:
build: .
ports:
- "8080:8080"
networks:
- mysql-db
depends_on:
- database
environment:
SPRING_DATASOURCE_PASSWORD: p@ssword
SPRING_DATASOURCE_USER: testUser
SPRING_DATASOURCE_NAME: testDatabase
SPRING_DATASOURCE_URL: jdbc:mysql://database:3306/testDatabase
links:
- database
networks:
mysql-db:
driver: bridge
还有我的application.properties文件:
spring.datasource.password=p@ssword
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://database:3306/testDatabase
spring.datasource.username=testUser
spring.mail.host=localhost
spring.mail.port=1025
spring.mail.username=hello
spring.mail.password=hello
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.show_sql=true
spring.jpa.properties.format_sql=true
spring.jpa.logging.level.org.hibernate.type=trace
spring.jpa.logging.level.org.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.logging.mail.smtp.ssl.trust=*
spring.jpa.logging.mail.smtp.auth=true
spring.jpa.logging.mail.smtp.starttls.enable=true
spring.jpa.logging.mail.smtp.connectiontimeout=5000
spring.jpa.logging.mail.smtp.timeout=3000
spring.jpa.logging.mail.smtp.writetimeout=5000
logging.level.org.hibernate.SQL=TRACE
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
你的配置比你需要的多得多。我猜您正在尝试解决这个问题,并尝试任何可能的解决方案:)
下面是“清理”版本的compose文件。我删除了所有不必要的东西(把你知道需要的东西放回去)。
你能指出为什么这个配置会起作用吗?;)
问题是您为数据库
服务定义了自定义容器名称mysql
,但在连接中仍然使用数据库
名称。因此,您需要选择其中一个并在连接中使用:从数据库中删除容器名称声明(如下代码所示),或者将连接字符串更改为jdbc:mysql://mysql:3306/testDatabase
version: "3"
services:
database:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_PASSWORD: p@ssword
MYSQL_USER: testUser
MYSQL_DATABASE: testDatabase
maildev:
image: maildev/maildev
web:
build: .
environment:
SPRING_DATASOURCE_PASSWORD: p@ssword
SPRING_DATASOURCE_USER: testUser
SPRING_DATASOURCE_NAME: testDatabase
SPRING_DATASOURCE_URL: jdbc:mysql://database:3306/testDatabase
links:
- database
我有一个使用Tomcat和MySQL的生产服务器。今天,所有网站都停止了与各自数据库的连接。 重新启动Tomcat时,显示无法为所有网站/数据库创建连接池。以下是错误日志(针对一个网站): 以及根的含量。xml是: 这个问题从今天开始,我已经没有选择了。它可能在几个月(或几年)内运行良好。 我已经尝试从url参数中删除"serverTimezone",使用服务器的IP而不是127.0.0.1和其他
我正在尝试将我的Spring引导jar与谷歌云SQL(MySQL 5.7,mysql-link 8.0.18)数据库连接。我正在gcp中的centos 7 VM中部署我的jar。 当我启动服务器时,我得到了上面提到的错误。堆栈跟踪是
我们正在运行一个带有Spring Hibernate MySql的J2EE应用程序,该应用程序在内部使用C3P0和Connector/J进行连池。 C3P0 C3P0配置 我的应用程序在一段时间后内部调用存储过程,我遇到以下错误 错误日志 现在,当我查看数据库日志时,我发现大多数查询都处于“创建排序索引”状态,如下所示 有人能帮我吗... 编辑 1.c3p0初始化日志
我试图连接我的java应用程序与SQL数据库和当我点击保存按钮它给我以下错误 这是我的密码
我有一个带有JDBC mysql连接的服务器,但每天早上检查服务器时都会出现这样的错误: 在com.mysql.jdbc.mysqlio.readfly(mysqlio.java:1395)在com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:1539)在com.mysql.jdbc.mysqlio.checkerrorpacket(mys
我正在与spring boot、hibernate和MySQL合作。在运行应用程序时,它按照预期运行得很好。但是在制作docker-compose文件并使用mysql docker映像运行app docker映像时,它会出现这个错误。 错误com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败java.net.ConnectEx