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

docker service inspect --pretty <SERVICE-ID>


$docker machine ssh manager1

查看helloworld 服务的详细信息
$ 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 参数即可

$ 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 helloworld
NAME                                    IMAGE   NODE     DESIRED STATE  LAST STATE
helloworld.1.8p1vev3fq5zm0mi8g0as41w35  alpine  worker2  Running        Running 3 minutes


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


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

$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