Инициализация Docker Swarm
На этом шаге мы инициализируем Docker Swarm. Docker Swarm представляет собой группу машин, на которых запущен Docker и которые объединены в кластер. После присоединения к Swarm вы можете продолжать использовать знакомые вам команды Docker, но теперь они будут выполняться менеджером Swarm. Машины в Swarm могут быть как менеджерами, так и рабочими узлами. Менеджеры выполняют задачи по управлению кластером, в то время как рабочие узлы выполняют сервисы.
Перед инициализацией Swarm проверим текущую версию Docker.
docker version
Вы должны увидеть вывод, похожий на следующий, который указывает на версию Docker, установленную на виртуальной машине LabEx:
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.16.20
Git commit: baeda1f
Built: Tue Oct 25 18:01:18 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.16.20
Git commit: 363bd3c
Built: Tue Oct 25 17:59:50 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.10
GitCommit: b4bd5d2b3d85c5e9b15588d67616e19a2a3a495d
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Теперь инициализируем Docker Swarm на этой машине. Поскольку это первый узел в Swarm, он автоматически станет узлом-менеджером. Мы будем использовать команду docker swarm init
.
docker swarm init
Вы должны увидеть вывод, который указывает на то, что Swarm был инициализирован и предоставляет команду для присоединения других узлов в качестве рабочих. Вывод будет похож на следующий:
Swarm initialized: current node (xxxxxxxxxxxx) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Вывод подтверждает, что Swarm инициализирован и текущий узел является менеджером. Символы xxxxxxxxxxxx
будут заменены на фактический идентификатор узла.