client¶
用于连接 Podman 服务的客户端。
- class PodmanClient(**kwargs)[源代码]¶
基类:
AbstractContextManager
用于连接 Podman 服务的客户端。
示例
- with PodmanClient(base_url=”ssh://root@api.example: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://<localhost>[:<port>]
- 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 [源代码]¶
使用环境变量和参数返回服务连接。
环境变量
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 –
- events(*args, **kwargs)[源代码]¶
报告网络。
- 参数:
decode – 当为 True 时,将流解码为字典。默认值:False
filters – 包含事件的条件。
since – 获取晚于此时间的事件。
until – 获取早于此时间的事件。
- 生成:
当 decode 为 True 时,Iterator[dict[str, Any]]
当 decode 为 False 时,Iterator[str]
- login(*args, **kwargs)[源代码]¶
登录 Podman 服务。
- 参数:
username – 注册表用户名
password – 注册表纯文本密码
email – 注册表账户电子邮件地址
registry – 注册表访问 URL。例如,https://quay.io/v2
reauth – 忽略:如果为 True,刷新现有身份验证。默认值:False
dockercfg_path – 忽略:自定义配置文件路径。
auth – TODO:根据 Podman 源代码添加描述。
identitytoken – IdentityToken 用于验证用户并获取注册表的访问令牌。
registrytoken – RegistryToken 是发送到注册表的持有者令牌
tls_verify – 是否验证 TLS 证书。
- property configs¶
不支持 Swarm。
- 抛出:
NotImplemented – Podman 服务不支持 Swarm
- property containers: ContainersManager¶
返回用于对 Podman 服务存储的容器进行操作的管理器。
- property images: ImagesManager¶
返回用于对 Podman 服务存储的镜像进行操作的管理器。
- property manifests: ManifestsManager¶
返回用于对 Podman 服务维护的清单进行操作的管理器。
- property networks: NetworksManager¶
返回用于对 Podman 服务维护的网络进行操作的管理器。
- property nodes¶
不支持 Swarm。
- 抛出:
NotImplemented – Podman 服务不支持 Swarm
- property pods: PodsManager¶
返回用于对 Podman 服务维护的 pod 进行操作的管理器。
- property secrets¶
返回用于对 Podman 服务维护的 secret 进行操作的管理器。
- property services¶
不支持 Swarm。
- 抛出:
NotImplemented – Podman 服务不支持 Swarm
- property swarm¶
不支持 Swarm。
- 抛出:
NotImplemented – Podman 服务不支持 Swarm
- property system¶
- property 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 –