Ответ
Docker Compose — это инструмент для определения и запуска мультиконтейнерных приложений. Работал с ним для локальной разработки, тестирования и развертывания сервисов.
Основное:
- Пишу
docker-compose.ymlдля описания сервисов, сетей, томов - Запускаю через
docker-compose up -d - Использую переменные окружения (
.env) и переиспользуемые конфиги
Пример:
version: '3.8'
services:
frontend:
build: ./frontend
ports:
- "3000:3000"
volumes:
- ./frontend:/app
depends_on:
- backend
backend:
image: node:14
command: npm start
Практика:
- Оптимизация через кеширование слоев (
buildvsimage) - Настройка сетей для изоляции сервисов
- Использование
healthcheckдля контроля готовности сервисов
Для продакшена обычно перехожу на оркестраторы (Kubernetes), но Compose удобен для локальной среды.