当前位置: 首页 > 知识库问答 >
问题:

将Spring/Hibernate应用程序连接到Docker中运行的Mysql

董联
2023-03-14

我有一个Spring/Hibernate应用程序,它与h2-database一起运行。现在,我需要使它连接到一个运行在Docker容器上的Mysql数据库。

Mysql容器直接从Dockerhub页面派生。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=test -d mysql:latest

在我的应用程序中.我拥有的属性:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=my-secret-pw

Mysql容器似乎运行良好。我可以进去看它运行。

那么,问题可能出在哪里呢?

共有1个答案

桂杰
2023-03-14

您必须从docker实例发布端口3306以便能够从外部连接到它。

Docker运行--命名某些-mysql-p 3306:3306-e mysql_root_password=my-secret-pw-e mysql_database=test-d mysql:latew

 类似资料:
  • 我是新来的docker和有一个简单的DW(dropwizard)应用程序连接到elasticsearch,其中已经运行在docker使用docker-compose.yml,其中有以下内容。 弹性搜索的Docker-compose.yml 注意:我将8200和8300公开为主机(本地mac系统)上的ES端口 现在,当我在本地主机上运行连接到8200中ES的DW应用程序时,一切都正常了,但现在我正在

  • 我有一个Java应用程序在Docker容器中运行,在另一个容器中运行。 如何连接容器以在Java应用程序中使用<code>rabbitmq</code>?

  • 我有一个Play 2 Web应用程序,我使用Docker将其部署到弹性豆茎。在这个Web应用程序中,我启动了一个Akka集群。启动过程包括将自动缩放组中的所有节点添加为种子节点(包括其本身)。在第一次部署到EB时,我指定部署到VPC(我只选择一个可用性区域)。 当我运行应用程序并启动群集时,我收到以下消息: 关联错误[akka.tcp://cluster@localhost: 2551]- 其中1

  • 我有三个应用程序在同一主机上的3个容器中运行。 我能够使用Ajax请求从主应用程序访问安全应用程序的endpoint。 注册应用使用 RestTemplate 对象从 Java 方法调用安全应用的终结点。安全应用拒绝此调用,如下所示。 我无法确定问题。注意,当我通过eclipse在本地运行这些应用程序时,这个调用工作得非常好。 我对码头工人很陌生。我有没有可能错过了什么?任何线索都会有所帮助。 多

  • application.properties:这是spring mvc应用程序,应用程序使用带有两个数据库的MySQL db 我阅读了创建dockerfile和docker-compose文件的文章https://medium.com/@asce4s/dockerize-spring-mvc-application-a9ffbd11eadb https://github.com/abagayev/