Найдено 2 опечаток в вашей конфигурации
services:
teste-postgres-compose:
image: postgres
environment:
POSTGRES_PASSWORD: "Postgres2019!"
ports:
- "15432:5432"
connection = DriverManager.getConnection("jdbc:postgresql://test-postgres-compose:5432/postgres", "postgres", "Postgres2019!");
- Ваша служба имеет имя
teste-postgres-compose
, но вы подключаетесь к test-postgres-compose
- "15432:5432"
вы открыли порт 15432
, но подключились к 5432
Обновление:
Извините, моя ошибка. Конечно, второй контейнер - это pgadmin, а не ваше приложение.
Имена контейнеров, такие как teste-postgres-compose
, доступны только в сети postgres-compose-network
и могут использоваться только другими контейнерами в той же сети. Приложения запускаются локально (я полагаю, вы запустили Java-код из вашей IDE) могут использовать только открытые порты с localhost Имена служб недоступны за пределами сети.
Например, ваш postgres должен быть доступен по адресу:
локальный: 15432
Потому что вы открыли этот порт в файле compose. Также вы можете попробовать loopback 127.0.0.1
или IP-адрес вашего хоста.