Java-сервис в Docker-контейнере не подключается к хосту MySQL

0

У меня есть микросервисы Java, работающие в контейнере докеров, которые не могут подключаться к mysql, размещенному локально.

docker работает в сети с ip-адресом как 172.0... Если я выполняю Java-сервис напрямую как java -jar, он может подключиться к mysql, работающему в 10.0.

docker-compose file

 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
  • 0
    Разместите свой файл композиции и ваш Dockerfile ...
  • 0
    @Dave - я добавил docker-compose файл, я создаю образ docker с помощью плагина maven, поэтому DockerFile нет.
Теги:
docker-compose

1 ответ

0

Проблема была решена после настройки конфигурации сетей в docker-compose.yml, проблема заключалась в том, что контейнеры mysql и Docker выполнялись в разных подсетях.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню