通信链接失败-MySQL + JDBC

时间:2019-10-28 15:35:50

标签: mysql spring-boot docker

我正在尝试从Spring Boot应用程序连接到MySQL docker容器。每次我从Eclipse运行我的@SpringBootApplication类时,我都会得到

com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链接失败

成功发送到服务器的最后一个数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。

我正在使用以下命令行运行docker容器:

docker container run --name expenses-mysql-db --network expensetracker-net -e MYSQL_ROOT_PASSWORD=password -d mysql

下面是我的application.properties文件内容:

spring.datasource.url=jdbc:mysql://expenses-mysql-db:3306/expensedb
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=create

我希望在运行spring api时成功连接,但由于上述异常而失败。请帮忙。

1 个答案:

答案 0 :(得分:1)

您必须在docker容器外部公开mysql端口。使用-p公开端口。

docker container run -p 3306:3306 --name expenses-mysql-db --network expensetracker-net -e MYSQL_ROOT_PASSWORD=password -d mysql