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

Знакомство с Docker Swarm
Docker Swarm — встроенный инструмент Docker для оркестрации контейнеров. Он позволяет управлять кластером механизмов Docker как единым виртуальным узлом Docker.
Представьте его дирижёром оркестра контейнеров, который помогает им работать согласованно.
Зачем использовать Docker Swarm?
Swarm автоматически упрощает развёртывание, масштабирование и управление контейнеризированными приложениями на нескольких компьютерах. Ключевые преимущества:
- Высокая доступность: если узел выходит из строя, контейнеры могут быть перезапущены на исправных узлах.
- Масштабирование: легко увеличивайте или уменьшайте масштаб служб в зависимости от нагрузки.
- Балансировка нагрузки: распределяет сетевые запросы между репликами службы.
Узлы Swarm: управляющие и рабочие
Кластер Docker Swarm состоит из узлов разных типов:
- Управляющие узлы: это «мозг» кластера. Они выполняют задачи оркестрации, поддерживают желаемое состояние приложений и распределяют работу.
- Рабочие узлы: это «мускулы» кластера. Они получают и запускают контейнеризированные службы (задачи), назначенные управляющими узлами.
Службы: желаемое состояние приложения
В Docker Swarm Вы определяете приложения как службы. Служба описывает желаемое состояние приложения.
Например, можно определить службу со следующими параметрами: «Запустить 3 реплики контейнера Nginx, открыть порт 80 и подключить этот том».
Задачи: запущенные контейнеры
Когда Вы создаёте службу, управляющий узел Swarm разбивает её на отдельные задачи. Каждая задача представляет один запущенный экземпляр контейнера службы.
Если служба запрашивает 3 реплики, управляющий узел создаст 3 задачи и распределит их между рабочими узлами.
Инициализация кластера Swarm
Чтобы запустить новый Swarm, инициализируйте его на механизме Docker. Эта команда превращает данный механизм в первый управляющий узел нового Swarm.
Она также предоставляет токен для подключения других узлов.
docker swarm initПодключение к кластеру Swarm
После инициализации Swarm к нему можно добавить другие компьютеры. Обычно они подключаются как рабочие узлы, готовые выполнять задачи.
Используйте команду `docker swarm join` с токеном и IP управляющего узла, предоставленными командой `docker swarm init`.
docker swarm join --token SWMTKN-1-...
192.168.1.100:2377Проверка узлов Swarm
Проверить состояние узлов Swarm можно с любого управляющего узла. Эта команда выводит список всех узлов, входящих в кластер, их роли и состояние.
Это отличный способ отслеживать работоспособность Swarm.
docker node lsПроверка знаний о Swarm
Что из перечисленного лучше всего описывает основную роль узла-менеджера в Docker Swarm?
Повторение введения в Swarm
В этом уроке мы познакомились с Docker Swarm — встроенным в Docker инструментом оркестрации. Мы узнали о его предназначении для управления кластерами контейнеров и ключевых компонентах:
- Узлы-менеджеры: выполняют оркестрацию и поддерживают состояние.
- Рабочие узлы: запускают задачи (контейнеры).
- Сервисы: определяют желаемое состояние приложения.
- Задачи: отдельные запущенные экземпляры контейнеров.
Мы также увидели, как инициализировать Swarm и добавлять узлы.
Часто задаваемые вопросы
Урок «Введение в Docker Swarm» бесплатный?
Да — полный текст урока «Введение в Docker Swarm» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Введение в Docker Swarm»?
Разберитесь, что такое Docker Swarm, как он работает и какую роль играет в оркестрации контейнеров для упрощения развёртывания. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Введение в Docker Swarm»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в Docker Swarm
- Настройка кластера Swarm
- Развёртывание сервисов в Swarm
- Масштабирование и обновления без простоя в Swarm