0Pricing
DevOps Bootcamp · Урок

Что такое Docker Compose?

Разберитесь в назначении Docker Compose и в том, как он управляет приложениями из нескольких контейнеров.

«Что такое Docker Compose?» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Добро пожаловать в Docker Compose!

Добро пожаловать! До сих пор Вы учились запускать отдельные контейнеры. Но что делать, если приложению требуется больше одного контейнера?

Большинство реальных приложений состоит не из одного контейнера. Обычно в них есть веб-сервер, база данных, кэш и другие компоненты!

Что такое Docker Compose? — иллюстрация 1

Задача с несколькими контейнерами

Представьте, что Вы запускаете веб-приложение с базой данных. Для каждого компонента потребуются отдельные команды docker run.

Вскоре это становится сложно! Как им взаимодействовать друг с другом? Как запустить их все в правильном порядке?

Ручное управление несколькими контейнерами и их связями может быть утомительным и приводить к ошибкам.

Знакомьтесь: Docker Compose

Именно здесь пригодится Docker Compose! Это инструмент для описания и запуска приложений Docker, состоящих из нескольких контейнеров.

Вместо множества отдельных команд docker run Вы описываете весь стек приложения в одном файле конфигурации.

Файл Compose: docker-compose.yml

Docker Compose использует файл с именем docker-compose.yml (или аналогичным), чтобы настроить службы приложения.

В этом файле используется простой, понятный человеку формат YAML (Yet Another Markup Language) для описания всех компонентов.

Это своего рода чертёж всего приложения.

Что такое службы в Compose

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

  • Обычно служба представляет один контейнер.
  • Вы указываете, какой образ Docker она использует.
  • Вы можете настроить её порты, тома, переменные окружения, зависимости и многое другое!

Compose управляет сетью

Одно из важных преимуществ Docker Compose — упрощение сетевого взаимодействия между контейнерами.

По умолчанию Compose создаёт одну сеть для всех служб, определённых в файле docker-compose.yml.

Благодаря этому службы (например, веб-приложение и база данных) легко взаимодействуют друг с другом, используя имена служб в качестве имён хостов.

Управление данными с помощью Compose

Как и приложениям с одним контейнером, приложениям с несколькими контейнерами часто требуются данные с сохранением.

Docker Compose позволяет описывать и управлять томами в файле docker-compose.yml.

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

Простой рабочий процесс Compose

Когда файл docker-compose.yml готов, запустить всё приложение очень просто!

Перейдите в каталог, содержащий этот файл, и выполните команду docker compose up.

Эта команда собирает (если необходимо), создаёт, запускает контейнеры всех служб, определённых в файле, и подключается к ним.

Зачем использовать Compose: основные преимущества

Docker Compose предлагает несколько преимуществ, особенно в средах разработки и тестирования:

  • Одна команда: запускайте и останавливайте всё приложение одной командой.
  • Воспроизводимость: гарантирует, что все используют абсолютно одинаковую настройку.
  • Изоляция: службы работают в изолированных средах.
  • Упрощение разработки: отлично подходит для локальной разработки и быстрого тестирования.

Быстрая проверка!

Вы узнали об основной идее Docker Compose.

Давайте проверим, сможете ли Вы определить его главное предназначение!

Итоги: оркестрация приложений

Отличная работа! Теперь Вы понимаете основную концепцию Docker Compose.

  • Он упрощает запуск приложений с несколькими контейнерами.
  • Для описания всех служб используется один файл YAML (docker-compose.yml).
  • Он управляет сетевым взаимодействием и сохранением данных служб.
  • Он значительно упрощает разработку и развёртывание сложных приложений!

Далее Вы узнаете, как написать свой первый файл docker-compose.yml!

Часто задаваемые вопросы

Урок «Что такое Docker Compose?» бесплатный?

Да — полный текст урока «Что такое Docker Compose?» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Что такое Docker Compose?»?

Разберитесь в назначении Docker Compose и в том, как он управляет приложениями из нескольких контейнеров. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Что такое Docker Compose?»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое Docker Compose?
  2. Написание файла Compose
  3. Развёртывание приложений из нескольких сервисов
  4. Переменные окружения и файлы .env
← Назад к DevOps Bootcamp