互联网技术 / 互联网资讯 · 2023年12月21日

检查集群中的服务

当前版本的Docker包含了Swarm模式,用于本地管理称为Swarm的Docker引擎集群。通过Docker CLI,可以创建集群、将应用程序服务部署到集群中并管理集群的行为。

当你已在集群中部署了一个服务后,可以使用Docker CLI查看有关正在运行的服务的详细信息。

1. 如果尚未打开终端,请SSH到运行管理器节点的计算机。例如,本教程使用的计算机名为Manager1。

2. 运行 docker service inspect --pretty 以易于阅读的格式显示服务的详细信息。

要查看有关helloworld服务的详细信息,请执行以下操作:

云计算核心技术Docker教程:Docker检查集群中的服务

提示:要以JSON格式返回服务详细信息,请运行不带--pretty标志的相同命令。

云计算核心技术Docker教程:Docker检查集群中的服务

运行 docker service ps 以查看正在运行该服务的节点:

[Manager1]$ docker service ps helloworld

NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS

helloworld.1.8p1vev3fq5zM0Mi8g0as41w35 alpine worker2 Running Running 3 Minutes

在这种情况下,helloworld服务的一个实例正在worker2节点上运行。你可能会看到该服务也在你的管理器节点上运行。默认情况下,集群中的管理器节点能够像工作节点一样执行任务。

Swarm还显示了服务任务的DESIRED STATE和CURRENT STATE,以便你可以查看任务是否按照服务定义运行。

4. 运行 docker ps 在任务运行的节点上查看有关该任务的容器细节。

提示:如果helloworld在管理节点以外的其他节点上运行,则必须SSH到该节点。

[worker2]$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

e609dde94e47 alpine:latest “PING docker.com” 3 Minutes ago Up 3 Minutes