首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Spring和Mysql

配置Spring和Mysql
EN

Stack Overflow用户
提问于 2018-11-09 11:37:11
回答 1查看 473关注 0票数 1

我对Spring Boot和Docker很陌生。

我正在尝试创建一个Spring应用程序,连接到mysql,并使用Docker来运行这两个应用程序。

步骤我遵循了 Step1创建的mysql映像并开始运行它。

代码语言:javascript
复制
docker run --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=root" --env="MYSQL_PASSWORD=root" --env="MYSQL_DATABASE=test" mysql

Step2创建了一个SpringBoot应用程序

代码语言:javascript
复制
docker build -f Dockerfile -t gradle-springboot-docker .

Step3运行Spring应用程序并与Mysql链接

代码语言:javascript
复制
docker run -t --name gradle-springboot-docker --link docker-mysql:mysql -p 8080:8080 gradle-springboot-docker

它给出了mysql的基本连接错误。我已经列出了下面的application.properties。由于我使用的是Docker,所以我的连接信息正确吗?mysql的主机是什么?

代码语言:javascript
复制
SSL properties
server.port=8080

#DataSource
datasource.driver = com.mysql.jdbc.Driver
datasource.url= jdbc:mysql://localhost:3306/test? 
autoReconnect=true&useSSL=false            
datasource.username=root
datasource.password=root

# Hibernate
hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql = true
hibernate.lazy = true
hibernate.max_fetch_depth = 3
hibernate.packagesToScan = com.springboot.poc
# Once DB is created change below property to 'update'
hibernate.hbm2ddl.auto = update
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-09 11:42:30

您应该使用mysql的容器名称作为主机名,因为它们是链接的,所以mysql容器可以从spring的名称中发现。所以您需要将datasource.url= jdbc:mysql://localhost:3306/test?更改为datasource.url= jdbc:mysql://docker-mysql:3306/test?

或者您可以使用别名,如@g00glen00b所建议的那样,例如:datasource.url= jdbc:mysql://mysql:3306/test?

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

https://stackoverflow.com/questions/53225029

复制
相关文章

相似问题

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