Evgen_Bolat
@Evgen_Bolat

Connection refused при попытке соединить spring-сервис и postgresSQL db в докере. Почему?

Вообще не могу приложить, к чему выпадает ошибка. Сама база данных создаётся, но сервис не может к ней подключиться.

Вот Dockerfile сервиса
FROM openjdk:17.0.2-jdk-slim-buster

MAINTAINER Evgenii Khavronich

ADD /target/AuthApi-0.0.1-SNAPSHOT.jar AuthApi-0.0.1-SNAPSHOT.jar
EXPOSE 8080:8080
ENTRYPOINT ["java", "-jar", "AuthApi-0.0.1-SNAPSHOT.jar"]


Вот application.yml у сервиса
spring:
  application:
    name: AuthApi
  datasource:
    url: jdbc:postgresql://db1:5433/AuthData
    username: postgres
    password: postgres
    driver-class-name: org.postgresql.Driver
  jpa:
    hibernate.ddl-auto: update
    properties.hibernate:
      show_sql: true
      format_sql: true


и вот docker-compose.yml, который и пытаюсь запустить
version: '3.1'
services:
  auth-service:
    container_name: auth-service
    build: AuthApi/
    ports:
      - "8080:8080"
    depends_on:
      - db1
  db1:
    image: postgres:13
    build:
      context: ./
      #Docker файл потом добавить
    ports:
      - "5433:5432"
    environment:
      - POSTGRES_DB=AuthData
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_USER=postgres


Будет дополнительно ещё один сервис, использующий ещё одну бд, поэтому внешний порт у бд данной другой (не дефолтный).

Буду признателен за помощь
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@D3lphi
При обращение к хосту контейнера нужно использовать не внешний порт, а внутренний: db1:5432
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы