Файл 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