docker-compose?
Docker Compose представляет собой мощный инструмент оркестрации, который предназначен для одновременного управления множеством контейнеров Docker. Вместо того чтобы запускать каждый контейнер отдельно с помощью длинных команд в терминале, вы описываете всю инфраструктуру в едином файле конфигурации.
Вся архитектура приложения описывается в специальном текстовом конфигурационном файле с расширением yml, который обычно называется docker-compose.yml. В этом документе вы задаете сервисы, сети, тома, а также переменные окружения, порты и зависимости между различными компонентами вашей системы.
Для запуска всей описанной в файле инфраструктуры используется простая команда docker-compose up, которая автоматически скачивает необходимые образы, создает сети, тома и запускает контейнеры. Добавив флаг минус d в конце, вы переведете все сервисы в фоновый режим работы, освободив окно терминала.
Когда работа с приложением завершена или требуется остановить сервисы, применяется команда docker-compose down, которая аккуратно останавливает и удаляет все созданные контейнеры и сети. При этом данные, сохраненные на жестком диске через механизм volumes, остаются в безопасности.
Для постоянного хранения данных и обмена ими между хостом и контейнерами используются volumes или тома. Они гарантируют, что файлы базы данных или пользовательские загрузки не исчезнут при перезапуске или удалении контейнера, обеспечивая надежное персистентное хранилище.