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

运行在docker上的mysql容器无法连接spring boot java api服务

朱祺
2023-03-14

$docker容器运行--名称云--网络雇员-e mysql_root_password=root-e mysql_database=bootdb-d mysql:5.7

spring boot应用程序在本地-我试图在java应用程序和mysql容器之间建立连接:

配置属性:

spring.datasource.url=jdbc:mysql://cloud/bootdb?serverTimezone=UTC&characterEncoding=UTF-8&useUnicode=true&allowPublicKeyRetrieval=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.platform=mysql
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto = create
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect
    null
  1. spring-boot-starter-data-jpa
  2. mysql-connector-java-version 5.1.46,docker mysql:5

共有1个答案

胥良平
2023-03-14

当您说-Spring Boot应用程序在本地运行时-我假设它在Docker之外运行。
尝试以下选项

步骤1:使用公开的端口3306再次创建mysql容器

docker run--name cloud--network employee-p 3306:3306-e mysql_root_password=root-e mysql_database=bootdb-d mysql:5.7

 类似资料:
  • 我正在docker容器中运行sql server` 所有这些都成功完成了。现在,当我尝试使用Java连接到数据库时,我得到了错误。 192.168.56.101是我的虚拟机的ip。我正在虚拟机上运行Linux。 我收到通信链路故障错误。 我在谷歌上搜索并找到了一些关于以下链接的解决方案,但没有一个对我有用。 使用JDBC和MySQL解决“通信链路故障” 如何连接docker中作为容器运行的MySQ

  • 例外情况是: docker-compose文件是: 多克菲乌勒

  • 我已经创建了一个MySQL数据库的映像,并在容器中运行它。我希望它在端口3406/3407上运行,因此我调用docker run命令如下所示: 如果我看我的容器,它看起来是这样的: 我非常想连接到我的数据库现在,但我似乎不能使我的URL工作。 这是我的URL的样子:

  • 问题内容: 我有用于创建mysql映像的docker- compose文件,并将端口公开给3306,但是当我尝试安装CMS时,出现了无法连接数据库的错误。我尝试扫描端口3306,并向我显示它已打开,因此mysql正在运行。 为什么两个Docker容器彼此看不到? 这是我的docker-compose文件: 问题答案: 要连接到数据库,请使用您作为主机名提供的链接/别名。因此,您的CMS可以使用主机

  • 问题内容: 遵循此示例:https : //docs.docker.com/engine/examples/mongodb/ 当尝试使用以下命令连接到mongoDB时:( 其中ip是boot2docker ip的名称)+ docker ps的端口号: 27017 / tcp 或-P 0.0.0.0:49155->27017/tcp 无论哪种方式,我都会收到以下错误: 警告:无法连接到ip:2701