containers_run

提供容器 run() 方法的 Mixin。

class RunMixin[源代码]

基类:object

为 ContainersManager 提供 run() 方法的类。

run(image: str | Image, command: str | list[str] | None = None, *, stdout=True, stderr=False, remove: bool = False, **kwargs) Container | Generator[str, None, None] | Iterator[str][源代码]

运行一个容器。

默认情况下,run() 将等待容器完成并返回其日志。

如果 detach=True,run() 将启动容器并返回一个 Container 对象而不是日志。

在这种情况下,如果 remove=True,run() 将在容器运行结束后监控并删除它;日志将在此情况下丢失。

参数:
  • image – 要运行的镜像。

  • command – 在容器中运行的命令。

  • stdout – 包含标准输出。默认值:True。

  • stderr – 包含标准错误。默认值:False。

  • remove – 当容器进程退出时,在客户端删除容器。还可以使用 auto_remove 标志在守护进程侧管理删除。默认值:False。

关键字参数:
  • 找到。 (- 当镜像未找到时,这些参数直接用于拉取镜像) – auth_config (Mapping[str, str]): 覆盖此请求在配置中找到的凭据。auth_config 应包含 username 和 password 键才有效。platform (str): 平台格式为 os[/arch[/variant]] policy (str): 拉取策略。“missing”(默认)、“always”、“never”、“newer”

  • 参数。 (- 有关其他关键字,请参见 create() 方法)

返回:

  • 当 detach 为 True 时,返回一个容器

  • 如果 stdout 为 True,则输出中包含来自容器的标准输出

  • 如果 stderr 为 True,则输出中包含来自容器的标准错误

  • 当 stream 为 True 时,容器的输出作为生成器返回

  • 否则,容器完成后返回一个迭代器

抛出:
  • ContainerError – 当容器以非零代码退出时

  • ImageNotFound – 当 Podman 服务未找到镜像时

  • APIError – 当 Podman 服务报告错误时