Что такое Docker Compose и зачем он нужен?
Позволяет запускать несколько контейнеров одной командой
Удобен для локальной разработки микросервисов
Описывает все окружение в docker-compose.yml: сервисы, сети, тома
Отлично подходит для Spring Boot + PostgreSQL, Redis и др.
Подробно: Docker Compose и запуск Spring Boot-приложения с зависимостями
Что такое Docker Compose?
Docker Compose — это инструмент, который позволяет:
описать несколько сервисов (контейнеров) в одном файле YAML,
поднять их одной командой: docker-compose up.
Это особенно удобно при работе со Spring Boot, когда нужно, например, запускать приложение вместе с базой данных или кэшом, или другими микросервисами.
Пример: Spring Boot + PostgreSQL
Файл docker-compose.yml:
version: '3.8'
services:
postgres:image: postgres:15container_name: my-postgresenvironment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: mydbports: - "5432:5432"
app:build: .container_name: my-spring-appports: - "8080:8080"depends_on: - postgresenvironment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/mydb SPRING_DATASOURCE_USERNAME: user SPRING_DATASOURCE_PASSWORD: password
Команды:
docker-compose up — запустить все (сборка и старт)
docker-compose down — остановить и удалить все
docker-compose logs -f — смотреть логи обоих сервисов
depends_on указывает, что app зависит от postgres. Но приложение должно уметь ждать готовности базы (например, через retry или init-скрипт).
