Сервисы Swarm
В Docker Swarm сервис задаёт, сколько экземпляров приложения должно работать и как их запускать. Docker сам создаёт и заменяет его задачи — контейнеры. В Asmy сервисы находятся в разделе «Контейнеры», внутри своих групп. Карточка сервиса остаётся видимой и при нуле экземпляров.
На карточке видны имя сервиса, образ и число работающих экземпляров. Например, «Экземпляры: 2/3» означает, что работают два из трёх требуемых. Контейнеры текущих задач показаны ниже; завершённые вынесены в отдельный раскрывающийся блок. В подробностях сервиса можно посмотреть задачи и сведения Docker.
Число экземпляров
Нажмите «Изменить число экземпляров», задайте целое число от нуля и сохраните. Docker начнёт приводить сервис к выбранному состоянию:
- 0 останавливает экземпляры, сохраняя сам сервис и его конфигурацию.
- 1 и больше задаёт нужное число одновременно работающих экземпляров.
Результат зависит от образа, доступных ресурсов и настроек размещения. Принятая команда не гарантирует, что все экземпляры смогут запуститься. Следите за счётчиком, задачами и логами.
Изменение действует на текущий сервис. Следующее развёртывание из Compose-файла может вернуть число экземпляров, записанное в файле.
Во время изменения число можно задать заново, в том числе установить ноль. Также остаётся доступным удаление сервиса: ждать завершения зависшего запуска для этого не нужно.
Перезапуск
«Перезапустить сервис» просит Docker заменить его работающие задачи, соблюдая политику обновления сервиса. Это не загрузка нового образа и не изменение исходного файла развёртывания. Для сервиса с нулём экземпляров сначала задайте нужное число экземпляров.
Другие режимы
У сервиса «На каждом узле» (global) число задач определяется узлами Swarm. Ручного изменения числа экземпляров у него нет; доступны перезапуск и удаление.
У заданий (replicated-job и global-job) доступны подробности, логи и удаление. Кнопки изменения числа экземпляров и перезапуска не показываются: повторный запуск задания может заново выполнить работу с побочными эффектами.
Удаление
Удаление сервиса останавливает и удаляет его задачи. Хранилища и образы сохраняются. Если сервис описан в исходном файле развёртывания, следующий deploy может создать его снова.
Доступные действия зависят от роли и назначения ресурса. Для служебных сервисов самой панели часть действий ограничена. Индикация незавершённой операции устроена так же, как у контейнеров.