Назад | Перейти на главную страницу

как получить доступ к внешнему mysql из докера

У меня есть java-приложение springboot внутри докера, которому нужно получить доступ к внешнему mysql.

Как я могу это настроить? Можно ли определить это внутри Dockerfile?

Теперь я перехожу к докеру, поэтому я предполагаю, что это должна быть простая и распространенная задача :)

Когда я запускаю приложение, я получаю сообщение об ошибке

2019-02-12 15: 10: 51,472 DEBUG [main] com.zaxxer.hikari.pool.HikariPool: HikariPool-1 - Невозможно установить соединение с источником данных java.sql.SQLNonTransientConnectionException: не удалось создать соединение с сервером базы данных. Попытка переподключиться 3 раза. Сдаваться.

мой Dockerfile

FROM openjdk:11.0.2-jre-slim
VOLUME /tmp
COPY target/app-0.4-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 9001/tcp

Если сервер mysql работает на хосте докеров, либо на металле, либо на другом контейнере с сопоставленным портом, возможно, конфигурация вашего приложения все еще ищет сервер базы данных на локальном хосте, который в своем контейнере указывает на интерфейс обратной связи ВНУТРИ контейнер.

Обойти это можно по специальному адресу: host.docker.internal см. информацию