У меня есть базовое c приложение Spring Boot с Gradle и Hibernate, которое выполняет вызовы к базе данных Oracle, база данных находится в контейнере docker.
Я создал Docker образ приложения весенней загрузки с плагином "com.google.cloud.tools.jib" и с помощью следующей команды:
./gradlew jibDockerBuild --image=app1
Я уже создал пользовательскую сеть (назовем ее my_network ) и я подключил контейнер базы данных к вышеупомянутой сети.
У меня есть docker -файл, в котором я даже указываю образ как службу и использую my_network когда я запускаю, нажимаю команду «docker -compose up» в CMD, я получаю следующее исключение:
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
Файл docker -compose является следующим:
version: '3.7'
networks:
my_network:
external:
name: my_network
services:
app1:
image: "app1"
ports:
- "9090:9090"
environment:
SPRING_DATASOURCE_URL: "jdbc:oracle:thin:@localhost:32769/ORCLPDB1.localdomain"
SPRING_DATASOURCE_USERNAME: username
SPRING_DATASOURCE_PASSWORD: password
networks:
- my_network
Пробные решения, но безрезультатно:
- Указана база данных как служба, поэтому, в принципе, можно создавать ее при первом нажатии «docker -compose up», а в приложении app1 указывается тег зависит от базы данных Созданный r будет в исправном состоянии: состояние запуска через много лет после запуска и сбоя app1
- Пусть внутри будет создана сеть из docker -композитного файла, но поведение будет таким же, как в заданном вопросе
- Заменил localhost на host. docker .internal в URL базы данных, но он сказал, что это был неизвестный хост