【问题标题】:docker-py client.images.list() always shows all imagesdocker-py client.images.list() 总是显示所有图像
【发布时间】:2020-12-16 20:50:45
【问题描述】:

我无法从 client.images.list() 过滤图像

https://docker-py.readthedocs.io/en/stable/images.html#docker.models.images.ImageCollection.list

文档说“name (str) – 仅显示属于存储库名称的图像”

client.images.list(name="elixir")

期望:

[<Image: 'elixir:1.10-alpine'>]

实际:

[<Image: 'postgres:latest'>, <Image: 'node:15-alpine'>, <Image: 'elixir:1.10-alpine'>, <Image: 'nginx:stable-alpine'>]

错误?

版本:

Docker 版本 20.10.0,内部版本 7287ab3

>>> import docker
>>> docker.__version__
'4.4.0'

【问题讨论】:

  • 确定没有这些图片?检查了吗?
  • 你连接到什么仓库?等
  • docker imagesdocker image ls 说什么?
  • @Paul 我有 ACTUAL 中的所有图像。但是,我希望 client.list(name) 只提供存储库 == 名称的图像。 docker客户端只有from_env()。
  • @Martin, docker images 显示与 ACTUAL 相同的图像。即我本地注册表中的所有图像。

标签: python docker dockerpy


【解决方案1】:

client.image.list(filters = { "reference" : "elixir:1.10-alpine"}) 会给你你想要的。

我使用https://docs.docker.com/engine/api/v1.41/#operation/ImageList 作为我的灵感来源。

【讨论】:

    【解决方案2】:

    我不得不使用:-

    client.images.list(filters = { "reference" : "elixir:1.10-alpine"})
    

    要返回图像列表,Martins 的响应似乎缺少“s”关闭图像

    【讨论】:

    • 欢迎来到 Stackoverflow。您基本上复制了马丁的答案并在其中修复了一个类型。与其发布您“自己”的答案,不如评论马丁的答案。
    • 我无法评论马丁的回答,它说我需要 50 个代表点。创造一个新的答案是我唯一的选择,除了根本不发表评论。下次我会选择选项2。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2022-01-23
    • 2015-01-09
    • 2021-07-09
    • 2018-12-08
    • 2011-11-06
    • 2022-01-12
    相关资源
    最近更新 更多