本文介绍如何查看运行在swarm中的服务的详情。
1.登录manager1机器。
2.运行docker service inspect –pretty 以便于阅读的格式显示服务的详细信息。
查看helloworld服务的详细信息:
- $ docker service inspect --pretty helloworld
-
- ID: 9uk4639qpg7npwf3fn2aasksr
- Name: helloworld
- Mode: REPLICATED
- Replicas: 1
- Placement:
- UpdateConfig:
- Parallelism: 1
- ContainerSpec:
- Image: alpine
- Args: ping docker.com
要以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": {}
- }
- }
- ]
3.执行docker service ps 来查看哪个节点运行这个服务:
$ docker service ps helloworld
- ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE
- 8p1vev3fq5zm0mi8g0as41w35 helloworld.1 helloworld alpine Running 3 minutes Running worker2
在这个例子中,worker2节点运行着helloworld服务。不过你可能会看到服务运行在管理节点上。默认下,swarm中的管理节点能像worker节点一样执行任务。
4.在运行这个服务的节点上执行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