Работал ли с docker compose

«Работал ли с docker compose» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. Использовал для развертывания мультисервисных приложений, например, когда бэкенд на Go взаимодействует с Postgres и Redis.

Пример docker-compose.yml:

version: '3.8'
services:
  app:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - postgres
      - redis
  postgres:
    image: postgres:14
    environment:
      POSTGRES_PASSWORD: example
  redis:
    image: redis:7

Плюсы:

  • Удобно управлять зависимостями через depends_on.
  • Локальное тестирование без ручного поднятия БД/кеша.
  • Можно использовать переменные окружения (environment).

Минусы:

  • Не заменяет полноценный оркестратор (K8s, Swarm).
  • Для прода лучше использовать отдельные Dockerfile с оптимизацией.