boot-docker和mysql

7y4bm7vi  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(251)

我对spring boot and docker是新手。
我正在尝试创建一个连接到mysql的spring启动应用程序,并使用docker来运行这两个应用程序。
我遵循的步骤Step1-创建mysql映像并开始运行它。

  1. docker run --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=root" --env="MYSQL_PASSWORD=root" --env="MYSQL_DATABASE=test" mysql

step2创建了一个springboot应用程序

  1. docker build -f Dockerfile -t gradle-springboot-docker .

step3运行SpringBoot应用程序并与mysql链接

  1. docker run -t --name gradle-springboot-docker --link docker-mysql:mysql -p 8080:8080 gradle-springboot-docker

它给出了到mysql的基本连接错误。我列出了下面的application.properties。我的连接信息是否正确,因为我正在使用docker。mysql的主机是什么?

  1. SSL properties
  2. server.port=8080
  3. # DataSource
  4. datasource.driver = com.mysql.jdbc.Driver
  5. datasource.url= jdbc:mysql://localhost:3306/test?
  6. autoReconnect=true&useSSL=false
  7. datasource.username=root
  8. datasource.password=root
  9. # Hibernate
  10. hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
  11. hibernate.show_sql = true
  12. hibernate.lazy = true
  13. hibernate.max_fetch_depth = 3
  14. hibernate.packagesToScan = com.springboot.poc
  15. # Once DB is created change below property to 'update'
  16. hibernate.hbm2ddl.auto = update
qlfbtfca

qlfbtfca1#

您应该使用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?

相关问题