簡體   English   中英

Docker容器中的Spring Boot應用程序以及主機中的MySQL

[英]Spring Boot application in Docker Container with MySQL in Host

我有一個Spring Boot應用程序,我打算在Docker容器上運行並測試此應用程序,我正在主機上連接到MySQL 為此,我在application.properties有一個屬性,如下所示

spring.datasource.url = jdbc:mysql://host.docker.internal:3306/flexapp

現在,當我執行./mvnw install dockerfile:build它嘗試在構建Docker image之前構建應用程序。 它在建造時說

Caused by: java.net.UnknownHostException: host.docker.internal: nodename nor servname provided, or not known

顯然,它無法解析host.docker.internal

如何將Docker容器中的Spring Boot應用程序連接到主機中的MySql實例? 我用谷歌搜索並嘗試了很多解決方案,但似乎沒有任何效果。

問題是有一些正在嘗試連接數據庫的測試正在執行。 這些測試將由於無法解析host.docker.internal

標准解決方案是使用spring boot提供的一種方法來外部化配置: Externalized Configuration

特別地,一種方法是將spring.datasource.url設置為指向application.properties中的localhost,並通過傳遞以下內容在Dockerfile中覆蓋它

--spring.datasource.url= jdbc:mysql://host.docker.internal:3306/flexapp

到Dockerfile中的Entrypoint或CMD指令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM