Python Docker SDK;获取有关悬挂 Docker 映像的信息



我一直在尝试获取图像信息,尝试遵循文档:本文档专门介绍

list(**kwargs(

列出服务器上的图像。

参数:

  • name (str( -- 仅显示属于存储库的映像name
  • all (bool( -- 显示中间图像图层。默认情况下,这些将被过滤掉。
  • 过滤器(字典( -- 要在图像列表中处理的过滤器。可用过滤器: - dangling(布尔值( - label(str(:keykey=value格式

现在,当我尝试并且尝试了很多事情时,我无法找出正确的语法:

sh-4.2# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import docker
>>> client = docker.from_env()
>>> for image in client.images.list('dangling'):
...     print image.id
...
>>> for image in client.images.list('dangling=true'):
...     print image.id
...
>>>

我也尝试过其他东西,但就是想不通它是如何工作的。我需要做的基本上是通过悬空或不悬空来过滤它们。

根据上面的解释,它说它需要一个字典:filters (dict)

此外,https://docker-py.readthedocs.io/en/stable/user_guides/swarm_services.html#listing-services 的教程示例为过滤器提供了一个字典,尽管对于服务,它也应该适用于图像。

因此,请尝试:

client.images.list(filters={'dangling': True})

最新更新