如何获取docker服务的容器ID

Akk*_*kki 9 docker

我想获得docker服务的容器ID.有没有可用的命令?

我试过了

docker service ps MyService
Run Code Online (Sandbox Code Playgroud)

但是这个只提供服务ID,我对运行服务的容器ID感兴趣

And*_*riy 19

尝试结合 docker 进程过滤格式化

docker ps -f name=YOUR_SERVICE_NAME --format "{{.ID}}"
Run Code Online (Sandbox Code Playgroud)

更新

感谢ahivert提供了更短的解决方案:

# same behavior with
docker ps -f name=YOUR_SERVICE_NAME --quiet
Run Code Online (Sandbox Code Playgroud)


use*_*097 11

试试吧

https://github.com/moby/moby/issues/31369

for f in $(docker service ps -q $service);do docker inspect --format '{{.NodeID}} {{.Status.ContainerStatus.ContainerID}}' $f; done

docker network inspect --verbose

来自https://github.com/moby/moby/pull/31710

  • 在这方面有用的模板是'{{json。}}'。它显示哪些字段可用。 (2认同)
  • 我添加了一个仅运行的过滤器:```$$中的f((docker service ps -q $ service -f“ desired-state = running”);做docker inspect --format'{{.NodeID}} {{ Status.ContainerStatus.ContainerID}}'$ f; 完成``` (2认同)

Sri*_*ram 6

docker service ps -q -f desired-state=running SERVICE_NAME  | xargs docker inspect --format '{{.Status.ContainerStatus.ContainerID}}'
Run Code Online (Sandbox Code Playgroud)