当你在一个swarm 中部署了一个服务,你可以通过以下的命令行语句来查看集群中运行的服务的详细信息

docker service inspect --pretty <SERVICE-ID>

$docker machine ssh manager1查看helloworld 服务的详细信息$ docker service inspect --pretty helloworldID:9uk4639qpg7npwf3fn2aasksrName:helloworldService Mode:REPLICATED Replicas:1Placement:UpdateConfig: Parallelism:1ContainerSpec: Image:alpine Args:ping docker.comResources:Endpoint Mode:  vip

如果需要返回的信息是json格式,只需要不带 --pretty 参数即可

$ 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": {}    }}]

查看哪个节点运行helloworld服务

docker service ps <SERVICE-ID>

$ docker service ps helloworldNAME                                    IMAGE   NODE     DESIRED STATE  LAST STATEhelloworld.1.8p1vev3fq5zm0mi8g0as41w35  alpine  worker2  Running        Running 3 minutes

在这个例子中,helloworld 其中的一个实例是运行在worker2中。你可能会看到服务运行在manager节点中。默认情况下,manager节点也可以像worker节点一样运行任务。

运行 docker ps 可以查看任务在哪里运行,以及容器运行的详细信息。

$docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMESe609dde94e47        alpine:latest       "ping docker.com"   3 minutes ago       Up 3 minutes                            helloworld.1.8p1vev3fq5zm0mi8g0as41w35