检查 swarm 上的服务
将服务部署到 swarm 后,可以使用 Docker CLI 查看有关在 swarm 中运行的服务的详细信息。
如果尚未打开,请打开一个终端并通过 ssh 连接到您 运行您的 Manager 节点。例如,本教程使用名为 .
manager1
运行 以显示详细信息 以易于阅读的格式介绍服务。
docker service inspect --pretty <SERVICE-ID>
要查看有关该服务的详细信息,请执行以下操作:
helloworld
[manager1]$ docker service inspect --pretty helloworld ID: 9uk4639qpg7npwf3fn2aasksr Name: helloworld Service Mode: REPLICATED Replicas: 1 Placement: UpdateConfig: Parallelism: 1 ContainerSpec: Image: alpine Args: ping docker.com Resources: Endpoint Mode: vip
提示
要以 json 格式返回服务详细信息,请运行相同的命令 没有标志。
--pretty
[manager1]$ docker service inspect helloworld [ { "ID": "9uk4639qpg7npwf3fn2aasksr", "Version": { "Index": 418 }, "CreatedAt": "2016-06-16T21:57:11.622222327Z", "UpdatedAt": "2016-06-16T21:57:11.622222327Z", "Spec": { "Name": "helloworld", "TaskTemplate": { "ContainerSpec": { "Image": "alpine", "Args": [ "ping", "docker.com" ] }, "Resources": { "Limits": {}, "Reservations": {} }, "RestartPolicy": { "Condition": "any", "MaxAttempts": 0 }, "Placement": {} }, "Mode": { "Replicated": { "Replicas": 1 } }, "UpdateConfig": { "Parallelism": 1 }, "EndpointSpec": { "Mode": "vip" } }, "Endpoint": { "Spec": {} } } ]
Run 以查看哪些节点正在运行 服务:
docker service ps <SERVICE-ID>
[manager1]$ docker service ps helloworld NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 3 minutes
在这种情况下,服务的一个实例正在节点上运行。您可能会看到该服务在 Manager 节点上运行。由 default,Swarm 中的 Manager 节点可以像 worker 节点一样执行任务。
helloworld
worker2
Swarm 还向您展示了该服务的 and 任务,以便查看任务是否根据服务运行 定义。
DESIRED STATE
CURRENT STATE
在运行任务的节点上运行,以查看有关 任务的容器。
docker ps
提示
如果 在管理器节点以外的节点上运行, 您必须通过 SSH 连接到该节点。
helloworld
[worker2]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e609dde94e47 alpine:latest "ping docker.com" 3 minutes ago Up 3 minutes helloworld.1.8p1vev3fq5zm0mi8g0as41w35
后续步骤
接下来,您将更改在 swarm 中运行的服务的规模。