Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker node promote 常用命令。

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

更新一个节点

推荐文档

相关文档

大家感兴趣的内容

随机列表