【问题标题】:How can a Spring app in docker access mysql in host or cloud mysql?docker中的Spring应用程序如何访问主机或云mysql中的mysql?
【发布时间】:2018-07-03 05:06:37
【问题描述】:

如何让 docker 中的 Spring App 主机访问我的主机机(mac)上的 mysql 主机或访问云 mysql 服务?

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

版本:'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-compose.yml

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

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

谁能帮帮我?

【问题讨论】:

    标签: mysql spring docker


    【解决方案1】:

    对于最新的 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

    【讨论】:

      猜你喜欢
      • 2019-01-31
      • 2019-01-16
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2016-07-29
      • 2022-11-29
      • 2018-01-26
      • 1970-01-01
      相关资源
      最近更新 更多