Docker Compose — это инструмент, позволяющий определять и запускать многоконтейнерные приложения Docker. С помощью Docker Compose вы можете использовать файл YAML для настройки сервисов, сетей и томов приложения, что даёт возможность запускать несколько взаимосвязанных контейнеров, управляемых как единое целое.
Docker Compose был представлен в 2014 году как способ упростить управление многоконтейнерными приложениями Docker. С тех пор он стал популярным инструментом в экосистеме Docker, предоставляя простой и эффективный способ оркестрации контейнеров.
Как работает Docker Compose
Docker Compose работает, читая файл YAML, который описывает сервисы, сети и тома приложения. Каждый сервис определяется как контейнер, а файл YAML указывает, как контейнеры должны быть сконфигурированы и как они будут взаимодействовать друг с другом.
Когда вы запускаете Docker Compose, он создаёт сеть для приложения и стартует контейнеры, указанные в файле YAML. Контейнеры запускаются в порядке, определённом в файле, и каждый из них получает собственный набор переменных окружения, файлов конфигурации и других ресурсов.
После запуска контейнеров Docker Compose предоставляет набор команд для управления приложением, таких как запуск и остановка контейнеров, масштабирование сервисов и просмотр журналов.
Использование Docker Compose
Чтобы использовать Docker Compose, сначала необходимо создать файл YAML, описывающий ваше приложение. Ниже приведён пример простого файла Docker Compose YAML:
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
В этом примере у нас два сервиса: «web» и «db». Сервис «web» использует образ nginx и открывает порт 8000 для хоста. Сервис «db» использует образ postgres и задаёт переменную окружения POSTGRES_PASSWORD.
Чтобы запустить приложение, выполните следующую команду:
Эта команда прочитает файл YAML и запустит контейнеры, указанные в файле. Затем вы можете получить доступ к веб‑сервису, открыв браузер и перейдя по адресу http://localhost:8000.
Заключение
Docker Compose — мощный инструмент для управления многоконтейнерными приложениями Docker. С помощью Docker Compose вы можете определить приложение как набор взаимосвязанных контейнеров, что упрощает его управление и масштабирование. Используя простой файл YAML для настройки приложения, Docker Compose позволяет легко создавать, запускать и управлять сложными контейнерными решениями.