images_manager

针对镜像的 PodmanResource 管理器子类。

class ImagesManager(client: APIClient = None)[source]

基类: BuildMixin, Manager

镜像资源的专用管理器。

初始化 Manager() 对象。

参数:

client – 配置为连接到 Podman 服务的 APIClient()。

build(**kwargs) Tuple[Image, Iterator[bytes]]

返回构建的镜像。

关键字参数:
  • path (str) –

  • Dockerfile. (fileobj – 用作) –

  • tag (str) –

  • quiet (bool) –

  • nocache (bool) –

  • rm (bool) –

  • timeout (int) –

  • custom_context (bool) – 使用 fileobj 时可选 (忽略) –

  • encoding (str) – 流的编码。设置为 gzip 以进行压缩 (忽略) –

  • pull (bool) –

  • forcerm (bool) –

  • dockerfile (str) –

  • buildargs (Mapping[str,str) –

  • container_limits (Dict[str, Union[int,str]]) –

    应用于构建过程中创建的每个容器的限制字典。

    有效键

    • memory (int): 设置构建的内存限制

    • memswap (int): 总内存 (内存 + 交换),-1 禁用交换

    • cpushares (int): CPU 份额(相对权重)

    • cpusetcpus (str): 允许执行的 CPU,例如,“0-3”,“0,1”

    • cpuperiod (int): CPU CFS(完全公平调度程序)周期(仅限 Podman)

    • cpuquota (int): CPU CFS(完全公平调度程序)配额(仅限 Podman)

  • shmsize (int) – 如果省略,则系统使用 64MB

  • labels (Mapping[str,str]) –

  • cache_from (List[str]) –

  • target (str) –

  • network_mode (str) –

  • squash (bool) –

  • extra_hosts (Dict[str,str]) – 容器,作为主机名到 IP 地址的映射。

  • platform (str) –

  • isolation (str) – 构建期间使用的隔离技术。 (忽略) –

  • use_config_proxy (bool) (忽略) –

  • http_proxy (bool) - 将 http 代理环境变量注入容器 (仅限 Podman) –

  • layers (bool) –

  • output (str) –

  • outputformat (str) –

返回值:

第一个项目是构建的 podman.domain.images.Image

第二个项目是构建日志

引发:
  • BuildError – 构建过程中出现错误时

  • APIError – 服务返回错误时

  • TypeError – 未指定 path 或 fileobj 时

exists(key: str) bool[source]

当镜像存在时返回 True。

get(name: str) Image[source]

按名称或 ID 返回镜像。

参数:

name – 要搜索的镜像 ID 或名称

引发:
  • ImageNotFound – 镜像不存在时

  • APIError – 服务返回错误时

get_registry_data(name: str, auth_config=typing.Mapping[str, str]) RegistryData[source]

返回镜像的注册表数据。

为了兼容性提供

参数:
  • name – 镜像名称

  • auth_config – 覆盖配置的凭据。需要 username 和 password 键。

引发:

APIError – 服务返回错误时

list(**kwargs) List[Image][source]

报告镜像。

关键字参数:
  • name (str) –

  • all (bool) –

  • filters (Mapping[str, Union[str, List[str]]) –

    可用过滤器

    • dangling (bool)

    • label (Union[str, List[str]]): 格式为“key”或“key=value”

引发:

APIError – 服务返回错误时

load(data: bytes) Generator[Image, None, None][source]

恢复之前保存的镜像。

参数:

data – 要加载的 tarball 格式的镜像。

引发:

APIError – 服务返回错误时

prepare_model(attrs: PodmanResource | Mapping[str, Any]) PodmanResourceType

根据一组属性创建模型。

prune(filters: Mapping[str, Any] | None = None) Dict[Literal['ImagesDeleted', 'SpaceReclaimed'], Any][source]

删除未使用的镜像。

Untagged 键将始终为“”。

参数:

filters

限定要修剪的镜像。可用过滤器

  • dangling (bool): 为真时,仅删除未使用的和未标记的镜像。

  • until (str): 删除早于此时间戳的镜像。

引发:

APIError – 服务返回错误时

prune_builds() Dict[Literal['CachesDeleted', 'SpaceReclaimed'], Any][source]

删除构建器缓存。

包含的方法以完成 API,操作始终返回空

CacheDeleted 和零 SpaceReclaimed。

pull(repository: str, tag: str | None = None, all_tags: bool = False, **kwargs) Image | List[Image] | Iterator[str][source]

请求 Podman 服务从仓库拉取镜像。

参数:
  • repository – 要拉取的仓库

  • tag – 要拉取的镜像标签。默认值:“latest”。

  • all_tags – 从仓库拉取所有镜像标签。

关键字参数:
  • auth_config (Mapping[str, str]) – 此请求的配置。auth_config 应包含用户名和密码键才能有效。

  • platform (str) –

  • progress_bar (bool) – 兼容端点)。默认值:False

  • tls_verify (bool) – True。

  • stream (bool) – 默认值:False。

返回值:

当 stream 为 True 时,返回一个生成器,发布服务拉取进度。如果 all_tags 为 True,则返回 Image 列表而不是拉取的 Image。

引发:

APIError – 服务返回错误时

push(repository: str, tag: str | None = None, **kwargs) str | Iterator[str | Dict[str, Any]][source]

将镜像或仓库推送到注册表。

参数:
  • repository – 推送的目标仓库

  • tag – 要推送的标签,如果提供

关键字参数:
  • str] (auth_config (Mapping[str,) – 覆盖配置的凭据。必须包含用户名和密码键。

  • decode (bool) – 将来自服务器的数据作为 Dict[str, Any] 返回。除非 stream=True,否则忽略。

  • destination (str) – 镜像的备用目标。(仅限 Podman)

  • stream (bool) – 将输出作为阻塞生成器返回。默认值:False。

  • tlsVerify (bool) – 需要 TLS 验证。

引发:

APIError – 服务返回错误时

remove(image: Image | str, force: bool | None = None, noprune: bool = False) List[Dict[Literal['Deleted', 'Untagged', 'Errors', 'ExitCode'], str | int]][source]

从 Podman 服务中删除镜像。

参数:
  • image – 要删除的镜像的名称或 ID

  • force – 即使镜像正在使用,也强制删除

  • noprune – 已忽略。

引发:
  • ImageNotFound – 镜像不存在时

  • APIError – 服务返回错误时

scp(source: str, dest: str | None = None, quiet: bool | None = False) str[source]

安全地在主机之间复制镜像。

参数:
  • source – 源连接/镜像

  • dest – 目标连接/镜像

  • quiet – 不打印保存/加载输出,仅打印镜像

返回值:

包含已加载镜像的字符串

引发:

APIError – 服务返回错误时

search(term: str, **kwargs) List[Dict[str, Any]][source]

在注册表中搜索镜像。

参数:

term – 用于目标镜像结果。

关键字参数:
  • filters (Mapping[str, List[str]) –

    优化搜索结果。可用的过滤器

    • is-automated (bool):镜像构建是自动化的。

    • is-official (bool):镜像构建由产品提供商拥有。

    • stars (int):镜像至少具有此数量的星级。

  • noTrunc (bool) – 不截断任何结果字符串。默认值:True。

  • limit (int) – 最大结果数。

  • listTags (bool) – 列出仓库中可用的标签。默认值:False

引发:

APIError – 服务返回错误时

property resource

prepare_model() 将创建 Image 类。

类型:

Type[podman.domain.images.Image]