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

docker中的Spring应用程序如何访问主机或云mysql中的mysql?

鄢修德
2023-03-14

如何让docker中的Spring应用程序主机访问主机mechine(mac)上的mysql主机或访问云mysql服务?

我知道如果mysql是另一个docker容器,我可以在docker中使用link。但这种情况不是。

版本:“3”

我尝试了主机模式,似乎仍然无法连接。

Dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD ./build/libs/app.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Dspring.profiles.active=dev","/app.jar"]

docker撰写。yml

services:
  web:
    build: .
    network_mode: "host"
    ports:
      - "8080:8080"

附言:“java-jar-Dspring。简介。活动=开发应用程序。我的主机上的jar工作正常。

有人能帮我吗?

共有1个答案

凌嘉志
2023-03-14

对于最新的mac docker,我可以使用docker。对于雨衣。本地主机作为主机名

spring.datasource.url=jdbc:mysql://docker.for.mac.localhost:3306/a_shares...

这里讨论了从docker容器中访问主机的一些暗魔法

 类似资料:
  • 如何将运行在Docker中的spring boot(JAR)应用程序连接到计算机上的MySql服务器?[我试过不同的帖子,但都没用] 在我的spring boot'Application.Properties'中,我有: 我尝试了许多选择: 但是,唉,我无法连接到MySql服务器。Hibernate失败。在我的CAAS提供程序上,这一切都运行良好--当然,使用已知的容器名称。 我的Dockerfi

  • 我正在运行带有--net=host选项的2个docker容器,因此网络是透明的(docker容器使用与主机相同的网络设备)。 我可以从外部访问docker容器中的多个服务。然而,有一件事是行不通的,我开始用剪刀在上面跑。。。 在docker主机上有一个运行在端口3306上的mysql数据库。没有问题。 Docker容器1在端口3307上运行mysqld,Docker容器2在端口3308上运行mys

  • 问题内容: 我有以下用于docker文件的文件… 和弹簧配置… 一切似乎都开始文件,我明白了 我看到… 但是当我运行并在这样的浏览器中输入该地址时,出现超时错误。我知道我可以在运行时使用端口映射,但是有没有一种方法可以映射到我的本地主机呢? 我也尝试过这个… 因此它不是浏览器。 还试图像这样映射它… 0.0.0.0:8080->8080/tcp、9090/tcp 但是localhost:8080(

  • 我的问题很简单,也很直观,但几个星期都解决不了。 我在Windows8上使用Docker。(当然是Docker工具箱+VirtualBox)。我把图像推到Docker Hub并使用Kitematic部署R shiny应用程序。 上面的图片显示它正在运行,但我无法通过给定的Docker机器IP 192.168.99.100:32772访问它

  • 我有以下内容: 视窗 10 操作系统 -- 主机 Oracle 虚拟盒 -- 来宾计算机 A linux Server (ubuntu) Minikube on Ubuntu for Kubernetes 我编写了一个简单的nodejs应用程序,它应该在虚拟盒子内的端口8087上运行。nodeapp通过kubernetes服务公开,然后我使用“kubectl port-就绪”将请求转发到kuber

  • 我正在使用Spring Boot和Spring data jpa。我也在使用hibernate envers,我需要访问AuditReaderFactory,以便我可以编写审计查询。 因为它是Spring Boot和spring数据jpa,所以一切都是自动配置的。所以当我这么做的时候, 它不起作用。我得到以下错误。 如何在我的存储库类中获得对AuditReaderFactory的正确引用?