Перечисление всех задач на узле
На этом этапе вы узнаете, как перечислить все задачи, выполняющиеся на узле Docker Swarm. Docker Swarm - это инструмент оркестрации контейнеров, который позволяет управлять кластером узлов Docker. Задача представляет собой запущенный экземпляр службы.
Перед перечислением задач нам нужно иметь запущенную службу Docker Swarm. В рамках этого практического занятия (лабораторной работы) мы будем использовать простую службу nginx
.
Сначала инициализируем Docker Swarm на этом узле.
docker swarm init
Вы должны увидеть вывод, указывающий на то, что Swarm был инициализирован и предоставляющий токен присоединения.
Теперь создадим простую службу с именем my-nginx-service
с использованием образа nginx
. Сначала мы загрузим образ nginx
, чтобы убедиться, что он доступен.
docker pull nginx:latest
docker service create --name my-nginx-service --replicas 1 nginx
Команда docker service create
создает новую службу с одним репликой (одной задачей). Docker автоматически загрузит образ nginx
, если он еще не присутствует, но мы явно загрузили его заранее.
После создания службы Docker запустит задачу для этой службы на одном из узлов в Swarm (в данном случае - на текущем узле).
Чтобы перечислить все задачи, выполняющиеся на узле, вы можете использовать команду docker node ps
, за которой следует идентификатор узла или имя узла. Поскольку мы находимся на управляющем узле, где была создана служба, мы можем использовать идентификатор этого узла.
Чтобы найти идентификатор узла, вы можете использовать команду docker node ls
.
docker node ls
Эта команда перечислит все узлы в Swarm. В выводе будут показаны идентификатор узла, имя узла, статус, доступность и статус управляющего узла. Скопируйте идентификатор текущего узла (тот, у которого в столбце MANAGER STATUS
указано Leader
).
Теперь используйте команду docker node ps
с скопированным идентификатором узла, чтобы перечислить задачи на этом узле. Замените <node_id>
на фактический идентификатор узла.
docker node ps <node_id>
Эта команда отобразит список задач, выполняющихся на указанном узле, включая идентификатор задачи, имя службы, образ, узел, желаемое состояние, текущее состояние и ошибку. Вы должны увидеть задачу my-nginx-service.1
в списке с состоянием Running
.
В качестве альтернативы вы можете перечислить все задачи в Swarm с помощью команды docker task ls
. Эта команда полезна для просмотра задач на всех узлах в Swarm.
docker task ls
Эта команда покажет информацию, аналогичную команде docker node ps
, но она перечисляет задачи со всех узлов в Swarm. Поскольку у нас есть только один узел и одна задача, вывод будет аналогичен команде docker node ps
.
На этом этапе вы узнали, как перечислить задачи на определенном узле с помощью команды docker node ps
и все задачи в Swarm с помощью команды docker task ls
.