Skip to content

Подробнее про Docker

Проект полностью интегрирован в docker. Для локальной разработки используется docker-compose. Проект содержит следующие файлы docker-compose:

  • docker-compose.yml - главный файл;
  • docker-compose.dev.yml - содержит только изменения относительно главного файла, необходимые для режима разработки;
  • docker-compose.test.yml - содержит только изменения для запуска тестов;

Файл docker-compose.yml

Файл docker-compose.yml - это главный compose-файл. Любая команда docker-compose должна использовать этот файл в качестве первого аргумента.

Файл содержит все сервисы проекта (кроме тестовых) и основные метаданные для каждого сервиса, такие как build, env_file, depends_on и т.п.

Файл docker-compose.yml не должен содержать портов, смотрящих наружу для сервисов баз данных.

Профили

Все сервисы в файле docker-compose.yml сгруппированы по профилям. Профили необходимы для возможности запуска только определенной группы сервисов.

Главный профиль - default, все сервисы должны иметь этот профиль.

Существуют следующие профили: * default * db * tests

Например, к профилю db относятся только сервисы postgres, redis и jaeger и больше ничего. Запустить исключительно сервисы профайла db можно так:

make run-db

Файл docker-compose.dev.yml

Файл docker-compose.dev.yml используется для запуска проекта в режиме разработки. Здесь добавляются изменения относительно docker-compose.yml. Например, здесь можно примонтировать тома для папок приложения и указать порты, смотрящие наружу, чтобы облегчить отладку.

Файл docker-compose.test.yml

Файл docker-compose.test.yml содержит сервисы только для тестов. Этот файл используется для запуска тестов в докере.