В режиме Swarm, это оркестратор, который планирует задачи для вас. Задача - это единица планирования, и каждая задача вызывает ровно один контейнер.
На практике это означает, что вы не должны управлять задачами вручную. Рой позаботится об этом за вас.
Вам нужно описать желаемое состояние вашего сервиса, если у вас есть настройки размещения, вы можете использовать команды --placement-pref
, в docker service
. Вы можете указать количество реплик и т. Д. Например,
docker service create \
--replicas 9 \
--name redis_2 \
--placement-pref 'spread=node.labels.datacenter' \
redis:3.0.6
Вы можете ограничить набор узлов, в которые будет помещена задача, используя ограничения размещения (https://docs.docker.com/engine/reference/commandline/service_create/#specify-service-constraints---constraint. Вот пример из документации Docker:
$ docker service create \
--name redis_2 \
--constraint 'node.labels.type == queue' \
redis:3.0.6
Я думаю, что это самое близкое решение для управления задачами.
После того, как вы описали свои ограничения / предпочтения при размещении, Swarm убедится, что фактическое состояние вашего сервиса соответствует желаемому состоянию, которое вы описали в команде создания. Вы не должны управлять какими-либо подробностями после описания желаемого состояния.
Если вы измените фактическое состояние, например, убив контейнер, Swarm перенастроит состояние вашего сервиса, чтобы оно снова соответствовало вашему желаемому состоянию. Это то, что произошло, когда вы удалили свой контейнер.
Чтобы изменить желаемое состояние, вы можете использовать команду docker service update
.
Ключевым моментом является то, что задачи не равны контейнерам. Технически они вызывают ровно один контейнер, но они не равны. Задача похожа на слот планирования, в который планировщик помещает контейнер.
Планировщик Swarm управляет задачами (не вы), поэтому нет такой команды, как docker task
. Вы управляете механизмом, описывая желаемое состояние.
Чтобы ответить на исходный вопрос, да, можно удалить задачу, вы можете сделать это, обновив желаемое состояние вашей услуги.