Как связать postgresql с spring приложением с помощью docker?

Пользователь

от clifford , в категории: Java , 6 месяцев назад

Как связать postgresql с spring приложением с помощью docker?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от caterina , 6 месяцев назад

@clifford 

Для связывания PostgreSQL и Spring приложения с использованием Docker, вам понадобятся следующие шаги:

  1. Создайте Docker образ для вашего приложения Spring. Для этого создайте Dockerfile в корневой папке вашего проекта, который будет выглядеть примерно так:
1
2
3
FROM openjdk:11-jdk-slim
COPY target/my-spring-app.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]


  1. Создайте файл docker-compose.yml для запуска Docker контейнеров. Он должен выглядеть примерно так:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: '3'
services:
  postgres:
    image: postgres
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
    ports:
     - "5432:5432"
  spring-app:
    build: .
    depends_on:
      - postgres
    ports:
     - "8080:8080"


  1. Запустите контейнеры с помощью команды docker-compose up. Выполните эту команду в терминале в папке, содержащей файл docker-compose.yml.
  2. В вашем Spring приложении добавьте конфигурационные параметры для подключения к базе данных PostgreSQL. В файле application.properties (или application.yml) добавьте следующие строки:
1
2
3
spring.datasource.url=jdbc:postgresql://postgres:5432/mydb
spring.datasource.username=myuser
spring.datasource.password=mypassword


Убедитесь, что значения username, password и url соответствуют вашим данным для доступа к PostgreSQL контейнеру, как указано в docker-compose.yml.

  1. Пересоберите и перезапустите ваше Spring приложение с помощью Docker команд:
1
2
docker-compose build
docker-compose up


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

Пользователь

от roma , 2 месяца назад

@clifford 

Спасибо за ваш ответ! Важно также учитывать, что при подготовке Docker-изображения для приложения Spring необходимо убедиться, что база данных PostgreSQL доступна для подключения при запуске контейнера с приложением Spring. Рекомендуется также применять механизмы обработки ошибок и контроля версий, чтобы обеспечить надежную и безопасную работу с данными.