1、docker node promote 简介
docker node promote
是用于将节点提升为管理者节点。当节点被提升为管理者节点时,它将获得以下额外的权限:
- 能够管理集群(例如创建服务、扩展服务等)。
- 能够使用 Docker 插件来增强集群功能。
- 能够在容器和数据卷之间调度任务。
参考文档:https://docs.docker.com/engine/reference/commandline/node_promote/
注意:这是一个集群管理命令,必须在集群管理器节点上执行。
2、docker node promote 语法
docker node promote NODE [NODE...]
3、docker node promote 命令
需将node2 的节点,提升为管理者节点:
docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 66jxq8jqvg8id2kyr0l4xmklp node1 Ready Active Leader e216jshn25ckzbvmwlnh5jr3g * node2 Ready Active Reachable k94ekc7b96h9o9fzqccihyewx node3 Ready Active
首先,我们需要确定当前集群中已经存在多少个管理者节点。在上面的输出中,我们可以看到 node1 是集群的领导者(Leader),因此它是一个管理者节点。由于集群至少需要一个管理者节点才能正常工作,因此我们需要确保在提升节点之前至少有一个其他的管理者节点。
接下来,我们可以使用 docker node promote 命令来将 node2 提升为管理者节点:
docker node promote node2 node2
执行成功,输出应该显示节点 ID 和名称,并没有任何错误消息。现在我们可以再次运行 docker node ls
命令来查看所有节点的状态和角色信息:
docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 66jxq8jqvg8id2kyr0l4xmklp * node1 Ready Active Leader e216jshn25ckzbvmwlnh5jr3g node2 Ready Active Reachable k94ekc7b96h9o9fzqccihyewx node3 Ready Active
现在我们可以看到 node1 和 node2 都是管理者节点了。如果我们只想使用 docker node ls 命令列出管理者节点,可以使用如下命令:
docker node ls --filter "role=manager" ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 66jxq8jqvg8id2kyr0l4xmklp * node1 Ready Active Leader e216jshn25ckzbvmwlnh5jr3g node2 Ready Active Reachable
4、子命令
命令 | 描述 |
docker node demote | 将一个或多个节点从 Swarm 中的管理节点降级 |
docker node inspect | 显示一个或多个节点的详细信息 |
docker node ls | 列出Swarm中的节点 |
docker node promote | 将一个或多个节点提升为 Swarm 中的管理节点 |
docker node ps | 列出运行在一个或多个节点上的任务,默认为当前节点 |
docker node rm | 从 Swarm 中移除一个或多个节点 |
docker node update | 更新一个节点 |