如何在 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
我正在使用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