Compose описывает мультиконтейнерное приложение: сервисы, сети, тома. Один файл docker-compose.yml, запуск docker compose up. Для Go: сервис с билдом из Dockerfile или образом, порты, переменные окружения, зависимости (postgres, redis). Удобно для локальной разработки и тестов.
services:
app:
build: .
ports: ["8080:8080"]
environment:
DATABASE_URL: postgres://user:pass@db:5432/app
depends_on: [db]
db:
image: postgres:16
environment: POSTGRES_PASSWORD: pass
volumes: [pgdata:/var/lib/postgresql/data]