簡體   English   中英

Docker容器中的Java服務未連接到主機mysql

[英]Java service in docker container not connecting to host mysql

我有在碼頭工人容器中運行的Java微服務,它無法連接到本地托管的mysql。

docker在IP地址為172.0的網絡中運行。 如果我直接以java -jar的身份執行Java服務,則它可以連接到以10.0運行的mysql。

docker-compose文件

 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

在docker-compose.yml中配置網絡配置后,此問題已解決,該問題是mysql和Docker容器在不同的子網中運行。

暫無
暫無

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

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