如何使用Docker引擎API获取当前正在运行的服务容器?

如何使用Docker引擎API获取当前正在运行的服务容器?,api,docker,docker-engine,Api,Docker,Docker Engine,我试图让当前运行的服务容器像Portainer.io中那样可视化它们 Portainer显示当前运行的计算机和副本,如5/8 我可以使用带有/services端点的引擎api获得所需的副本号。 我找不到的是当前正在运行的服务容器 服务端点返回如下结果: { "ID": "frf43534t43543t43gt435", "Version": { "Index": 10936 }, "CreatedAt": "2019-12-11T14:36:03.

我试图让当前运行的服务容器像Portainer.io中那样可视化它们

Portainer显示当前运行的计算机和副本,如5/8

我可以使用带有
/services
端点的引擎api获得所需的副本号。 我找不到的是当前正在运行的服务容器

服务端点返回如下结果:

{
    "ID": "frf43534t43543t43gt435",
    "Version": {
        "Index": 10936
    },
    "CreatedAt": "2019-12-11T14:36:03.361254384Z",
    "UpdatedAt": "2019-12-11T14:40:19.911714617Z",
    "Spec": {
        "Name": "connector-service",
        "Labels": {
            "com.docker.stack.image": "connector",
            "com.docker.stack.namespace": "conn"
        },
        "TaskTemplate": {
            "ContainerSpec": {
                "Image": "connector:latest",
                "Labels": {
                    "com.docker.stack.namespace": "conn"
                },
                "Hostname": "connector-service{{.Task.Slot}}",
                "Env": [
                    "CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR=3",
                    "CONNECT_STATUS_STORAGE_REPLICATION_FACTOR=3"
                ],
                "Privileges": {
                    "CredentialSpec": null,
                    "SELinuxContext": null
                },
                "Isolation": "default"
            },
            "Resources": {},
            "Placement": {},
            "Networks": [
                {
                    "Target": "sfer32432fr4ewt4r3g4tr54",
                    "Aliases": [
                        "connector-service"
                    ]
                }
            ],
            "ForceUpdate": 0,
            "Runtime": "container"
        },
        "Mode": {
            "Replicated": {
                "Replicas": 6
            }
        },
        "EndpointSpec": {
            "Mode": "vip",
            "Ports": [
                {
                    "Protocol": "tcp",
                    "TargetPort": 8083,
                    "PublishedPort": 8083,
                    "PublishMode": "ingress"
                }
            ]
        }
    },

    "Endpoint": {
        "Spec": {
            "Mode": "vip",
            "Ports": [
                {
                    "Protocol": "tcp",
                    "TargetPort": 8083,
                    "PublishedPort": 8083,
                    "PublishMode": "ingress"
                }
            ]
        },
        "Ports": [
            {
                "Protocol": "tcp",
                "TargetPort": 8083,
                "PublishedPort": 8083,
                "PublishMode": "ingress"
            }
        ],
        "VirtualIPs": [
            {
                "NetworkID": "safcedsvcsg4425r32dsf",
                "Addr": "10.0.0.55/24"
            },
            {
                "NetworkID": "sfsfe4233fr3g435432greg43",
                "Addr": "10.0.3.11/24"
            }
        ]
    }
}

我已经意识到引擎中的API容器可以通过两个端点进行检索;第一个是/containers,第二个是/tasks。例如,为了获取服务的运行容器/tasks,可以使用带有两个过滤器的端点<代码>http://192.168.4.142:1777/v1.40/tasks?filters={“服务”:{“我的服务”:true},“所需状态”:{“运行”:true}

此端点返回服务的运行容器总数,/services端点返回所需数量,以便可以找到所需容器中有多少正在运行