如何在 go-dockerclient 中仅检索容器 运行 特定图像?

How to retrieve only containers running a specific image in go-dockerclient?

我正在使用go-dockerclient library to retrieve list of containers I got all containers by using the ListContainers function

conts, err := client.ListContainers(docker.ListContainersOptions{All: true})

但我只想获取 运行 特定图像的容器 我试过了 运行

conts, err := client.ListContainers(docker.ListContainersOptionsFilters: map[string][]string{"Image": {"<imagename>:<version>"}}})

但我收到错误 Invalid filter:'Image' 意味着没有名为 Image

的过滤器字段

那么有人有解决方案来只获取 运行 特定图像的容器吗? 谢谢

你应该使用 ancestor 而不是图像字段,这样你就可以使用

conts, err :=client.ListContainers(docker.ListContainersOptionsFilters: map[string][]string{"ancestor": {"<imagename>:<version>"}}}

只需查看docker ps 过滤器选项,下面的网站列出了当前支持的所有过滤器。 https://github.com/docker/cli/blob/master/docs/reference/commandline/ps.md