Какой опыт с Docker Compose

«Какой опыт с Docker Compose» — вопрос из категории Devops, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Практика:

  • Оптимизация через кеширование слоев (build vs image)
  • Настройка сетей для изоляции сервисов
  • Использование healthcheck для контроля готовности сервисов

Для продакшена обычно перехожу на оркестраторы (Kubernetes), но Compose удобен для локальной среды.