如何在docker中获取Spring App主机以访问主机机制(mac)上的mysql主机或访问云mysql服务?

我知道mysql是否是另一个Docker容器,我可以在docker中使用链接。但是这种情况并非如此。

版本:“3”

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

Docker文件

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-compose.yml
services:
  web:
    build: .
    network_mode: "host"
    ports:
      - "8080:8080"

PS:我的主机上的'java -jar -Dspring.profiles.active = dev app.jar'工作正常。

谁能帮我?

最佳答案

对于最新的Mac Docker,我可以使用docker.for.mac.localhost作为主机名

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

在这里Accessing host machine from within docker container讨论了一些黑魔法

关于mysql - Docker中的Spring应用程序如何访问主机或云mysql中的mysql?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48417645/

10-13 08:46
查看更多