我正在尝试从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时成功连接,但由于上述异常而失败。请帮忙。
答案 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