当你在一个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