【发布时间】:2018-09-26 14:35:06
【问题描述】:
大家好!
这是我的第一次,所以我会尽力做到最好。
我想创建一个使用 Springboot 框架运行的应用程序,我想将它连接到一个嵌入 MySQL 的 docker 容器(但 spring boot 应用程序没有在 docker 上运行)
所以我关注了这个post
我已经制作了我的 docker-compose:
db:
image: mysql
ports:
- '3306:3306'
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=users
volumes:
- ../data:/var/lib/mysql
我用这个命令运行它:
docker-compose run --service-ports db
一切都很好,所以现在我在 spring boot 上更改了我的 application.properties:
## Server Properties
server.port= 5000
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/users?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
spring.datasource.username= root
spring.datasource.password= secret
## Hibernate Properties
#The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto = update
## Hibernate Logging
logging.level.org.hibernate.SQL= DEBUG
## Jackson Properties
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS= false
spring.jackson.time-zone= UTC
但是当我运行我的应用程序时,我有这个错误:( :
原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 获取JDBC连接失败;嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
我在 MacOS 上...
我试图跟随 callicoder 的课程......
https://www.callicoder.com/spring-boot-spring-security-jwt-mysql-react-app-part-1/
感谢您的帮助:)
【问题讨论】:
-
第一个猜测:尝试不使用服务端口选项或使用 localhost 而不是 127.0.0.1
-
不工作,但感谢您的回复...
标签: java mysql docker spring-boot docker-compose