首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误使用MySQL和Spring boot app与docker

错误使用MySQL和Spring boot app与docker
EN

Stack Overflow用户
提问于 2021-03-16 01:22:12
回答 2查看 31关注 0票数 1

我尝试使用MySQL Docker Container来控制我的spring boot应用程序。我跑了一下:

代码语言:javascript
运行
复制
docker run --name mysql-demo -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:lat

并得到了

代码语言:javascript
运行
复制
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                 NAMES
8d540d1824b9   mysql:latest   "docker-entrypoint.s…"   23 minutes ago   Up 23 minutes   3306/tcp, 33060/tcp   mysql-demo

在我的spring应用程序中,我有一个属性文件:

代码语言:javascript
运行
复制
spring.datasource.url=jdbc:mysql://mysql-demo:3306/test
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

当我尝试运行此应用程序或构建jar时,它会崩溃并显示以下错误

代码语言:javascript
运行
复制
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

如果我在没有docker的情况下在本地使用mysql,则应用程序可以工作

EN

回答 2

Stack Overflow用户

发布于 2021-03-16 01:25:55

你没有暴露端口3306。您必须使用-p3306:3306执行此操作,否则无法访问此端口。

代码语言:javascript
运行
复制
docker run -p3306:3306 --name mysql-demo -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:lat
票数 1
EN

Stack Overflow用户

发布于 2021-03-16 06:19:32

我在同一个网络中运行了这两个容器

更多信息请点击此处:how to access mysql docker container in spring boot docker container

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66642668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档