client

连接到 Podman 服务的客户端。

class PodmanClient(**kwargs)[source]

基类: AbstractContextManager

连接到 Podman 服务的客户端。

示例

with PodmanClient(base_url=”ssh://[email protected]:22/run/podman/podman.sock?secure=True”,

identity=”~alice/.ssh/api_ed25519”)

初始化 PodmanClient。

关键字参数:
  • base_url (str) – Podman 服务的完整 URL。请参阅示例。

  • version (str) – 要使用的 API 版本。默认值:auto,使用服务器上的版本

  • timeout (int) – API 调用的超时时间(秒)。默认值:socket._GLOBAL_DEFAULT_TIMEOUT。

  • tls – 已忽略。SSH 连接配置委托给 SSH 主机配置。

  • user_agent (str) – 服务连接的用户代理。默认值:PodmanPy/<代码版本>

  • credstore_env (Mapping[str, str]) – 包含凭据存储环境的字典

  • use_ssh_client (True) – 始终对 SSH Podman 服务连接外壳到 SSH 客户端。

  • max_pool_size (int) – 要保存在池中的连接数

  • connection (str) – 要从 XDG_CONFIG_HOME/containers/containers.conf 中使用的连接的标识符

  • identity (str) – 提供 SSH 密钥以对 SSH 连接进行身份验证。

示例

base_url

  • http+ssh://<用户>@<主机>[:端口]</run/podman/podman.sock>[?secure=True]

  • http+unix://</run/podman/podman.sock>

  • tcp://<本地主机>[:<端口>]

close()[source]

释放 PodmanClient 资源。

df() Dict[str, Any][source]

Podman 资源的磁盘使用情况。

返回值:

按资源类别及其数据使用情况进行键控。

返回类型:

dict

events(*args, **kwargs)[source]

报告网络。

参数:
  • decode – 为 True 时,将流解码为 dict。默认值:False

  • filters – 包含事件的标准。

  • since – 获取比此时间更新的事件。

  • until – 获取比此时间旧的事件。

产量:

当 decode 为 True 时,Iterator[Dict[str, Any]]

当 decode 为 False 时,Iterator[str]

classmethod from_env(version: str = 'auto', timeout: int | None = None, max_pool_size: int | None = None, ssl_version: int | None = None, assert_hostname: bool = False, environment: Dict[str, str] | None = None, credstore_env: Dict[str, str] | None = None, use_ssh_client: bool = True) PodmanClient[source]

使用环境变量和参数返回到服务的连接。

环境变量

  • DOCKER_HOST、CONTAINER_HOST:Podman 服务的 URL

  • DOCKER_TLS_VERIFY、CONTAINER_TLS_VERIFY:根据 CA 证书验证主机

  • DOCKER_CERT_PATH、CONTAINER_CERT_PATH:主机连接的 TLS 证书路径

参数:
  • version – 要使用的 API 版本。默认值:auto,使用服务器上的版本

  • timeout – API 调用的超时时间(秒)。

  • max_pool_size – 要保存在池中的连接数。

  • ssl_version – SSH 配置委托给 SSH 客户端配置。已忽略。

  • assert_hostname – 已忽略。

  • environment – 包含输入环境的字典。默认值:os.environ

  • credstore_env – 包含凭据存储环境的字典

  • use_ssh_client – 使用系统 ssh 客户端而不是 ssh 模块。始终为 True。

返回值:

用于与 Podman 服务通信的客户端。

引发:

当未设置必需的环境变量时,会引发 ValueError

info(*args, **kwargs)[source]

返回有关 Podman 服务的信息。

login(*args, **kwargs)[source]

登录到 Podman 服务。

参数:
  • username – 注册表用户名

  • password – 注册表纯文本密码

  • email – 注册表帐户电子邮件地址

  • registry – 注册表访问的 URL。例如,

  • reauth – 已忽略:如果为 True,则刷新现有身份验证。默认值:False

  • dockercfg_path – 已忽略:自定义配置文件的路径。https://quay.io/v2

ping() bool[source]

如果服务响应为 OK,则返回 True。

version(*args, **kwargs)[source]

从服务获取版本信息。

关键字参数:

api_version (bool) – 为 True 时,包含 API 版本

property configs

不支持 Swarm。

引发:

NotImplemented – Podman 服务不支持 Swarm

property containers: ContainersManager

返回用于对 Podman 服务存储的容器进行操作的管理器。

属性 images: ImagesManager

返回 Podman 服务存储的镜像的操作管理器。

属性 manifests: ManifestsManager

返回 Podman 服务维护的清单的操作管理器。

属性 networks: NetworksManager

返回 Podman 服务维护的网络的操作管理器。

属性 nodes

不支持 Swarm。

引发:

NotImplemented – Podman 服务不支持 Swarm

属性 pods: PodsManager

返回 Podman 服务维护的 Pod 的操作管理器。

属性 secrets

返回 Podman 服务维护的密钥的操作管理器。

属性 services

不支持 Swarm。

引发:

NotImplemented – Podman 服务不支持 Swarm

属性 swarm

不支持 Swarm。

引发:

NotImplemented – Podman 服务不支持 Swarm

属性 system
属性 volumes: VolumesManager

返回 Podman 服务维护的数据卷的操作管理器。

from_env(version: str = 'auto', timeout: int | None = None, max_pool_size: int | None = None, ssl_version: int | None = None, assert_hostname: bool = False, environment: Dict[str, str] | None = None, credstore_env: Dict[str, str] | None = None, use_ssh_client: bool = True) PodmanClient

使用环境变量和参数返回到服务的连接。

环境变量

  • DOCKER_HOST、CONTAINER_HOST:Podman 服务的 URL

  • DOCKER_TLS_VERIFY、CONTAINER_TLS_VERIFY:根据 CA 证书验证主机

  • DOCKER_CERT_PATH、CONTAINER_CERT_PATH:主机连接的 TLS 证书路径

参数:
  • version – 要使用的 API 版本。默认值:auto,使用服务器上的版本

  • timeout – API 调用的超时时间(秒)。

  • max_pool_size – 要保存在池中的连接数。

  • ssl_version – SSH 配置委托给 SSH 客户端配置。已忽略。

  • assert_hostname – 已忽略。

  • environment – 包含输入环境的字典。默认值:os.environ

  • credstore_env – 包含凭据存储环境的字典

  • use_ssh_client – 使用系统 ssh 客户端而不是 ssh 模块。始终为 True。

返回值:

用于与 Podman 服务通信的客户端。

引发:

当未设置必需的环境变量时,会引发 ValueError