Файл Docker Compose — это файл YAML, используемый для определения и настройки нескольких контейнеров Docker как одного приложения. Он предоставляет способ описания служб, сетей и томов, необходимых для контейнеров приложения, что упрощает управление и развертывание сложных многоконтейнерных приложений.

Docker Compose позволяет вам определить все необходимые компоненты вашего приложения, такие как веб-серверы, базы данных, очереди, кэши и многое другое, в одном файле. Затем этот файл можно использовать для создания и управления контейнерами для каждого компонента.

В файле Docker Compose вы можете указать следующее:

Службы: каждая служба представляет собой контейнер в приложении. Вы можете определить различные свойства для каждой службы, такие как образ для использования, порты для предоставления, переменные среды, тома для монтирования и зависимости от других служб.

Сети: вы можете определить пользовательские сети для своего приложения, обеспечивая связь между контейнерами. Службы могут быть подключены к этим сетям, чтобы позволить им взаимодействовать друг с другом.

Тома: тома используются для сохранения данных, сгенерированных или используемых контейнерами. Вы можете определить именованные тома или привязать монтирование для монтирования каталогов с хост-компьютера в контейнеры.

Переменные среды. Для каждой службы можно задать переменные среды, что позволяет передавать значения конфигурации в контейнеры.

Зависимости: вы можете определить зависимости между службами, указав, какие службы должны быть запущены, прежде чем другие смогут запуститься.

Используя файл Docker Compose, вы можете декларативно определить всю инфраструктуру и конфигурацию вашего приложения, упрощая совместное использование, версию и развертывание вашего приложения в различных средах.

Чтобы использовать файл Docker Compose, в вашей системе должен быть установлен Docker Compose. После установки вы можете запустить команду docker-compose up, чтобы запустить приложение на основе конфигурации, указанной в файле Compose.

Конечно! Вот пример файла Docker Compose.

версия: '3'
сервисы:
веб:
сборка: .
порты:
- 8080:80
тома:
- . /app:/var/www/html
depend_on:
- db
db:
image: mysql:5.7
порты:
- 3306:3306
среда:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=myapp
- MYSQL_USER=myuser
- MYSQL_PASSWORD=mypassword