Docker - Spring Boot 应用程序 - 无法访问本地主机上的 MySql 服务器

2024-04-30

如何将在 Docker 中运行的 Spring Boot (JAR) 应用程序连接到我计算机上的 MySql 服务器? [我尝试了不同的帖子,但这没有帮助]

在我的 Spring Boot 'application.properties' 中,我有:

spring.datasource.url = jdbc:mysql://localhost:3306/geosoldatabase

我尝试了多种选择:

$ docker run -p 8080:8080 --name containername imagename

$ docker run --net="host" -p 8080:8080 --name containername imagename

$ docker run -p 8080:8080 --add-host=localhost:192.168.99.100 --name containername imagename

但可惜的是,我无法连接到 MySql 服务器。休眠失败。在我的 CAAS 提供商上,这一切都运行良好 - 当然使用已知的容器名称。

我的 Dockerfile 非常简单:

FROM fabric8/java-jboss-openjdk8-jdk
ENV JAVA_APP_JAR myapplication.jar
ENV AB_OFF true
EXPOSE 8080
ADD target/$JAVA_APP_JAR /deployments/

正如建议的,也可以使用环境变量。这是我到目前为止所做的:

  • 在Windows10环境设置屏幕中定义,我定义了以下环境变量: [1] DATABASE_HOST=127.0.0.1:3306 和 [2] DATABASE_NAME=mydbname
  • 我按照建议更改了 application.properties 文件: spring.datasource.url = jdbc:mysql://${DATABASE_HOST}/${DATABASE_NAME}

在 Docker 快速启动屏幕中,输入“docker Push...”后,我收到相同的错误。这次的原因有所不同:

引起原因:java.net.UnknownHostException:${DATABASE_HOST}:名称或 服务未知。

为了检查环境变量是否设置正确,我输入:“echo ${DATABASE_HOST}”,然后得到值“127.0.0.1:3306”。

Update:建议将“docker-machine ip”地址放入database_host变量中。现在原因有点不同:

引起原因:org.hibernate.tool.schema.spi.SchemaManagementException:无法打开模式管理目标的 JDBC 连接


在 docker run 命令中使用 --network="host" ,那么 docker 容器中的 127.0.0.1 将指向您的 docker 主机。参考答案这个帖子 https://stackoverflow.com/a/24326540/3143823.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker - Spring Boot 应用程序 - 无法访问本地主机上的 MySql 服务器 的相关文章

随机推荐

  • 如何使用 G++ MinGW 将 Psapi.lib 添加到 Eclipse 中的 TARGETLIBS

    我正在尝试实现这个示例进程枚举器程序来自 MSDN https msdn microsoft com en us library windows desktop ms682623 v vs 85 aspx 我收到许多未解析符号的错误 包括
  • HttpContext.Current.Request.UserHostAddress 为空

    在我的开发机器中HttpContext Current Request UserHostAddress一片空白 为什么 我怎样才能打开它 如果是代理客户端 如何获取 Ips 列表 WCF 服务与 ASP net 4 windows 7 Th
  • 如果另一个工具条位于同一个工具条面板上,则将工具条向左移动一点会创建一个新行

    当我将一个工具条与同一个工具条面板中的另一个工具条拖动到左侧 可能只是为了将其放在角落 时 我正在拖动的工具条会跳到 新 行 就好像我已将其向下移动一样 解释起来相当棘手 所以这里有几个图表 图 A 我将工具条向左移动 然后 意外地 向左移
  • JavaScript 变量作用域

    我遇到了 JavaScript 全局变量 称为 TimeStamp 未在加载时定义的问题 至少我认为这就是问题所在 我从这里开始 定义时间戳 document ready function AddTest var TimeStamp nul
  • Apache Spark 中的混洗与非混洗合并

    在将 RDD 写入文件之前执行以下转换时 它们之间有什么区别 合并 1 随机播放 true 合并 1 随机播放 假 代码示例 val input sc textFile inputFile val filtered input filter
  • Git - -m 是什么意思 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions In Gi
  • Firebase Auth,在用户注册之前获取用户UID

    我正在为我们的应用程序开发邀请机制 新用户将被邀请提供他们的电子邮件地址或电话号码 我想保留一些有关受邀请但未注册的用户的记录 因此 我希望在他们注册之前就获得他们的 Firebase Auth 用户 UID 这可能吗 也许使用 Fireb
  • 如何使Python中的浮点值显示.00而不是.0?

    简单的问题 抱歉我无法弄清楚 我有一些数字是由 浮动 字符串 它们显示为 xxx 0 但如果确实是整数 我希望它们以 00 结尾 我该怎么做 Thanks EDIT Python 说 float 没有 cal format gt gt gt
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • 选择器资源可以使用样式中定义的颜色吗?

    我试图在选择器的样式中使用定义的颜色 但它导致了 Resources NotFoundException 首先 我向 attr xml 添加了一个新属性
  • 如何在 Xcode 7.3.1 的属性检查器中设置自定义展开转场动画

    我正在尝试通过 Xcode 7 2 1 中的故事板设置自定义展开转场动画 如果我在文档大纲中选择展开转场 我会看到属性检查器中有一个可用的类选项来提供 UIStoryboardSegue 类 但是 当我在那里设置自定义 Segue 类并运行
  • Embeddable、Hibernate 中的多对一关系

    我有一个场景Embeddablehibernate 中的类使用Entity 根据我在SO和其他链接上找到的各种答案 我们可以写 ManyToOne OneToMany里面一个Embeddable class 但这样做让我HibernateM
  • 用 Python 重复读取 CSV?

    我正在尝试根据我已有的 csv 检查提取的数据的值 它只会循环遍历 CSV 的行一次 我只能检查 feed items 的一个值 我需要在某处重置某个值吗 有没有更好 更有效的方法来做到这一点 谢谢 orig csv reader open
  • 如何在 Visual Studio 代码中切换文本大小写

    如何在 Visual Studio Code 中切换突出显示文本的大小写 VS 通过 CTRL SHIFT U 和 CTRL U 允许这样做 是否有一个命令绑定可以设置来执行此操作 或者默认情况下是其他组合键 Echoing 只是另一个开发
  • 正则表达式匹配时间

    我希望我的用户能够输入时间表单 如果需要更多信息 用户用它来表示完成任务需要多少时间 如果填满 它将保存在数据库中 这是我所拥有的 0 1 0 9 2 0 4 0 5 0 9 0 5 0 9 它匹配空表单或 01 30 和 01 30 00
  • 如何使用PIL读取原始图像?

    我有一个原始图像 其中每个像素对应一个 16 位无符号整数 我正在尝试使用 PIL Image fromstring 函数进行读取 如以下代码所示 if name main if len sys argv 4 print Error mis
  • 我可以停止 CakePHP 获取查询的所有行吗?

    我正在使用 CakePHP 和 modelName gt find 调用选择相当多的行 可能是数百行 通常 在 PHP MySQL 中这当然不会成为问题 因为您在 while 循环中获取它们 但是 CakePHP 将所有行加载到一个数组中
  • 标准化设备坐标

    我正在编写一个处理 2D 图形形状的库 I m just wondering why should my coordinate system range from 1 1 for both the x and y axis instead
  • Angular 6:i18n:如何更新已翻译的现有 .xlf 文件?

    在 Angular 6 中 现在我想我理解了如何制作 i18n 文件并利用它们 例如https angular io guide i18n https angular io guide i18n 我想知道如何维护所述文件 如果我进入并更改
  • Docker - Spring Boot 应用程序 - 无法访问本地主机上的 MySql 服务器

    如何将在 Docker 中运行的 Spring Boot JAR 应用程序连接到我计算机上的 MySql 服务器 我尝试了不同的帖子 但这没有帮助 在我的 Spring Boot application properties 中 我有 sp