是否可以在 docker 集群服务中获取所有 运行 容器 ID?

Is this possible to get all running containers id's in docker swarm services?

我是 docker swarm 模式的新手,如果我想了解有关我的 swarm 服务的更多详细信息,我可以从命令行 运行 docker service ps "service name ",或从 docker 休息“/v2/services/my-ngx”

[msreddy@swarmnode1 ~]$ docker service ps my-ngx ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS voj7fllhnmqb my-ngx.1 nginx:latest swarmnode1 Running Running 26 minutes ago

但它没有给我容器 ID。我想从我的集群服务中跟踪容器,这可能吗?

docker service ps my-ngx 返回的 ID 是 <task_id> 要获取容器 ID,可以使用 docker inspect -f "{{.Status.ContainerStatus.ContainerID}}" <task_id>

prranay 的解决方案完美运行。将其与提出的问题 (bash) 放在一起:

for f in $(docker service ps -q my-ngx -f desired-state=running);do docker inspect --format '{{.Status.ContainerStatus.ContainerID}}' $f; done

这列出了上述服务的所有容器my-ngx