首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有连接到主机mysql的docker容器中的Java服务

没有连接到主机mysql的docker容器中的Java服务
EN

Stack Overflow用户
提问于 2018-07-03 19:17:01
回答 1查看 88关注 0票数 1

我在docker容器中运行了Java微服务,它无法连接到本地托管的mysql。

docker在网络中运行,ip地址为172.0.如果我以Java -jar的形式直接执行java服务,它就能够连接到运行在10.0中的mysql。

船坞-合成文件

代码语言:javascript
复制
 version: '2.0'
services:
  config-server:
        image: test/config-server
        container_name: config-server
        environment:
          - GIT_USERNAME=${GIT_USERNAME}
          - GIT_PASSWORD=${GIT_PASSWORD}
        ports:
          - 8889:8889
        entrypoint: ["java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Dspring.profiles.active=docker", "-Drun.arguments=GIT_USERNAME=${GIT_USERNAME}, GIT_PASSWORD=${GIT_PASSWORD} -Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  discovery-server:
      image: test/discovery-server
      container_name: discovery-server
      links:
        - config-server
      depends_on:
        - config-server
      entrypoint: ["./wait-for-it.sh","config-server:8889","--timeout=60","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Dspring.profiles.active=docker", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
      ports:
        - 8761:8761
  web-authentication:
      image: test/web-authentication
      container_name: web-authentication
      links:
        - config-server
        - discovery-server
      depends_on:
        - discovery-server
      entrypoint: ["./wait-for-it.sh","discovery-server:8761","--timeout=60","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Dspring.profiles.active=docker", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
      ports:
        - 8444:8444
  gateway:
      image: test/gateway
      container_name: gateway
      links:
        - config-server
        - discovery-server
        - web-authentication
      depends_on:
        - discovery-server
      entrypoint: ["./wait-for-it.sh","discovery-server:8761","--timeout=60","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Dspring.profiles.active=docker", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
      ports:
        - 81:8765
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 18:44:05

在docker-compose.yml中配置网络配置后,问题得到了解决,问题是mysql和Docker容器在不同的子网中运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51161574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档