这是否可以在docker swarm服务中获取所有正在运行的容器ID?

时间:2017-02-21 12:27:43

标签: docker docker-swarm docker-swarm-mode

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

[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。我希望跟踪容器形成我的swarm服务这可能吗?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

这列出了提到的服务my-ngx

的所有容器