Масштабирование нескольких служб
На этом этапе мы научимся масштабировать несколько служб одновременно. Это полезно, когда у вас есть несколько служб, которые нужно масштабировать вместе, например, различные компоненты приложения.
Сначала создадим еще одну службу. Мы создадим службу с именем my-nginx-service
, используя образ nginx
с одной репликой. Сначала нам нужно скачать образ nginx
.
docker pull nginx
Вы должны увидеть вывод, указывающий на то, что образ nginx
скачивается.
Теперь создадим службу my-nginx-service
.
docker service create --name my-nginx-service --replicas 1 nginx
Вы должны увидеть вывод, подтверждающий создание службы my-nginx-service
.
Теперь у нас есть две службы: my-alpine-service
(в настоящее время масштабирована до 0) и my-nginx-service
(масштабирована до 1). Масштабируем обе службы сразу. Мы масштабируем my-alpine-service
до 2 реплик и my-nginx-service
до 3 реплик.
docker service scale my-alpine-service=2 my-nginx-service=3
После выполнения этой команды Docker Swarm обновит обе службы в соответствии с указанным количеством реплик. Вы должны увидеть вывод, указывающий на то, что обе службы обновляются.
Чтобы убедиться, что обе службы были масштабированы, вы можете вывести список служб.
docker service ls
Теперь вы должны увидеть my-alpine-service
в списке с 2 репликами и my-nginx-service
с 3 репликами.
Вы также можете проверить задачи для каждой службы отдельно, чтобы увидеть запущенные контейнеры.
docker service ps my-alpine-service
Это покажет 2 запущенные задачи для my-alpine-service
.
docker service ps my-nginx-service
Это покажет 3 запущенные задачи для my-nginx-service
.
Наконец, очистим созданные нами службы. Мы можем удалить обе службы с помощью команды docker service rm
.
docker service rm my-alpine-service my-nginx-service
Вы должны увидеть вывод, подтверждающий удаление обеих служб.
Чтобы убедиться, что службы удалены, выведите список служб еще раз.
docker service ls
В списке не должно быть служб.