containers¶
容器资源的模型和管理器。
- class Container(attrs: Mapping[str, Any] | None = None, client: APIClient | None = None, collection: Manager | None = None)[source]¶
基类:
PodmanResource
由 Podman 服务管理的容器的详细信息和配置。
初始化 PodmanResource 的基类。
- 参数:
attrs – 来自 Podman 服务的资源属性映射。
client – 配置连接到 Podman 服务。
collection – 此类资源的管理器,命名为 collection 以保持兼容性
- attach(**kwargs) str | Iterator[str] [source]¶
连接到容器的 tty。
- 关键字参数:
stdout (bool) – 包含标准输出。默认值:True
stderr (bool) – 包含标准错误。默认值:True
stream (bool) – 返回字符串迭代器而不是单个字符串。默认值:False
logs (bool) – 包含以前的容器输出。默认值:False
- 引发:
NotImplementedError – 方法未实现。
- commit(repository: str = None, tag: str = None, **kwargs) Image [source]¶
将容器保存到给定的仓库。
- 参数:
repository – 保存镜像的位置
tag – 与镜像一起推送的标签
- 关键字参数:
author (str) – 提交作者的姓名
changes (List[str]) – 提交过程中要应用的指令
comment (str) – 要包含在镜像中的提交消息,覆盖关键字消息
conf (dict[str, Any]) – 被忽略。
format (str) – 镜像清单和元数据的格式
message (str) – 要包含在镜像中的提交消息
pause (bool) – 提交前暂停容器
- exec_run(cmd: str | List[str], stdout: bool = True, stderr: bool = True, stdin: bool = False, tty: bool = False, privileged: bool = False, user=None, detach: bool = False, stream: bool = False, socket: bool = False, environment: Mapping[str, str] | List[str] = None, workdir: str = None, demux: bool = False) Tuple[int | None, Iterator[bytes] | Any | Tuple[bytes, bytes]] [source]¶
在容器内运行给定的命令并返回结果。
- 参数:
cmd – 要执行的命令
stdout – 连接到标准输出。默认值:True
stderr – 连接到标准错误。默认值:True
stdin – 连接到标准输入。默认值:False
tty – 分配伪终端。默认值:False
privileged – 以特权方式运行。
user – 以其执行命令的用户。默认值:root
detach – 如果为真,则从 exec 命令分离。默认值:False
stream – 流式传输响应数据。默认值:False
socket – 返回连接套接字以允许自定义读/写操作。默认值:False
environment – 字典或 List[str],格式如下: [“PASSWORD=xxx”] 或 {“PASSWORD”: “xxx”}。
workdir – 此 exec 会话的工作目录路径
demux – 分别返回标准输出和标准错误
- 返回值:
第一个项目是命令响应代码,第二个项目是请求响应内容
- 引发:
NotImplementedError – 方法未实现。
APIError – 当服务报告错误时
- export(chunk_size: int = 2097152) Iterator[bytes] [source]¶
下载容器的文件系统内容为 tar 归档文件。
- 参数:
chunk_size – <= 每次生成器迭代返回的字节数。
- 产量:
大小/chunk_size 块的 tar 包
- 引发:
NotFound – 当容器已从服务中删除时
APIError – 当服务报告错误时
- get_archive(path: str, chunk_size: int = 2097152) Tuple[Iterable, Dict[str, Any]] [source]¶
从容器的文件系统下载文件或文件夹。
- 参数:
path – 文件或文件夹的路径。
chunk_size – <= 每次生成器迭代返回的字节数。
- 返回值:
第一项是原始 tar 数据流。第二项是包含指定路径上 os.stat() 信息的字典。
- logs(**kwargs) bytes | Iterator[bytes] [source]¶
获取容器的日志。
- 关键字参数:
stdout (bool) – 包含标准输出。默认值:True
stderr (bool) – 包含标准错误。默认值:True
stream (bool) – 将字符串生成器作为响应返回。默认值:False
timestamps (bool) – 在输出中显示时间戳。默认值:False
tail (Union[str, int]) – 输出日志末尾指定的行数。表示要显示的行数的整数,或字符串 all。默认值:all
since (Union[datetime, int]) – 显示自给定日期时间或整数纪元(以秒为单位)以来的日志
follow (bool) – 跟踪日志输出。默认值:False
until (Union[datetime, int]) – 显示在给定日期时间或整数纪元(以秒为单位)之前发生的日志
- put_archive(path: str, data: bytes = None) bool [source]¶
上传包含要写入容器的文件或文件夹的 tar 归档文件。
- 参数:
path – 要将数据写入的文件
data – 要写入文件的内容,当为 None 时,将在客户端读取路径以构建 tarfile。
- 返回值:
成功时为 True
- 引发:
APIError – 当服务器报告错误时
- reload() None ¶
从服务刷新此对象的数据。
- remove(**kwargs) None [source]¶
删除容器。
- 关键字参数:
v (bool) – 也删除关联的卷。
link (bool) – 已忽略。
force (bool) – 在删除之前杀死正在运行的容器。
- resize(height: int = None, width: int = None) None [source]¶
调整 tty 会话的大小。
- 参数:
height – tty 会话的新高度。
width – tty 会话的新宽度。
- stats(**kwargs) bytes | Dict[str, Any] | Iterator[bytes] | Iterator[Dict[str, Any]] [source]¶
返回容器的统计信息。
- 关键字参数:
decode (bool) – 如果为 True 且 stream 为 True,则流将解码为字典。默认值:False。
stream (bool) – 流式传输统计信息,直到取消。默认值:True。
- 引发:
APIError – 当服务报告错误时
- stop(**kwargs) None [source]¶
停止容器。
- 关键字参数:
all (bool) – 当为 True 时,停止所有容器。默认值:False(仅限 Podman)
忽略 (bool) – 当为 True 时,如果容器已停止则忽略错误 (仅限 Podman)
超时 (int) – 在杀死容器之前等待容器停止的秒数。
- top(**kwargs) Iterator[Dict[str, Any]] | Dict[str, Any] [source]¶
报告容器中正在运行的进程。
- 关键字参数:
ps_args (str) – 当给出时,参数将传递给 ps
stream (bool) – 当为 True 时,重复返回结果。默认值:False
- 引发:
NotFound – 当容器不再存在时
APIError – 当服务报告错误时
- wait(**kwargs) int [source]¶
阻止直到容器进入给定状态。
- 关键字参数:
condition (Union[str, List[str]]) – 要释放的容器状态。可以是以下一个或多个:“configured”,“created”,“running”,“stopped”,“paused”,“exited”,“removing”,“stopping”。
interval (int) – 在轮询完成之前等待的时间间隔。
- 返回值:
“Error”键具有一个字典值,其键为“Message”。
- 引发:
NotFound – 当容器未找到时
ReadTimeoutError – 当超时超过时
APIError – 当服务返回错误时
- property id¶
返回对象的标识符。
- 类型:
str
- property image¶
返回用于创建容器的 Image 对象。
- property labels¶
返回与容器关联的标签。
- 类型:
dict[str, str]
- property name¶
返回容器的名称。
- 类型:
str
- property ports¶
返回容器公开的端口。
- 类型:
dict[str, int]
- property short_id¶
返回截断的标识符。'sha256' 在包含在 id 中时保留。
不会尝试确保返回值对所有资源在语义上都有意义。
- 类型:
str
- property status¶
返回容器的状态。
- 类型:
Literal[“running”, “stopped”, “exited”, “unknown”]