跳到主要内容

podman -stop - 停止一个或多个正在运行的容器

概述

podman stop [options] container ...

podman container stop [options] container ...

描述

使用容器ID或名称作为输入来停止一个或多个容器。--time选项指定了在向容器发出停止命令后,等待多长时间(以秒为单位)再强制停止容器。默认值为10秒。默认情况下,容器首先使用SIGTERM信号停止,然后在超时后使用SIGKILL信号。SIGTERM的默认值可以通过创建容器时使用的镜像和命令行进行覆盖。

选项

--all, -a

停止所有正在运行的容器。这不包括已暂停的容器。

--cidfile.read

如果文件缺失且用户指定了--ignore,则命令不会失败。

--filter, -f=filter

过滤将停止哪些容器。 可以使用多个--filter标志来指定多个过滤器。 具有相同键的过滤器是包含性的,唯一例外是label,它是排他性的。具有不同键的过滤器始终是排他性的。

说明:

以下表格列出了有效的过滤器,这些过滤器可用于筛选容器,以便执行特定的操作或查询。通过使用这些过滤器,您可以根据容器的不同属性(如ID、名称、标签、状态等)来精确地选择容器。每个过滤器都有其特定的匹配方式和用法,具体取决于您所使用的命令和上下文。请注意,不是所有的命令都支持所有的过滤器,因此在使用时请参考相关文档以获取准确的信息。

有效的过滤器列表:

过滤器描述
id筛选容器的ID。默认使用CID前缀匹配,也支持正则表达式。
name筛选容器的名称。支持正则表达式匹配。
label筛选具有指定标签的容器。可以是标签键或键值对的形式。
exited筛选具有指定退出码的容器。需要提供一个整数作为参数。
status筛选具有指定状态的容器。状态可以是 'created'(已创建)、'exited'(已退出)、'paused'(已暂停)、'running'(运行中)或 'unknown'(未知)。
ancestor筛选使用指定镜像或其后代创建的容器。
before筛选在此容器之前创建的容器。可以是容器的ID或名称。
since筛选在此容器之后创建的容器。可以是容器的ID或名称。
volume筛选挂载了指定卷或挂载点目标位置的容器。
health筛选具有指定健康状态的容器。状态可以是 'healthy'(健康)或 'unhealthy'(不健康)。
pod筛选属于指定Pod的容器,可以是Pod的名称或完整或部分ID。
network筛选连接到指定网络的容器,可以是网络的名称或完整ID。
until筛选在给定持续时间或时间之前创建的容器。需要提供一个日期时间作为参数。
ignore此过滤器通常用于忽略某些特定的容器或条件,具体用法取决于命令的实现。
latest筛选最新创建的容器。根据容器的创建时间进行排序,选择最新的一个或多个容器。
time根据容器的创建时间进行筛选。可以指定一个时间范围或特定的时间点。

请注意,表格中的“ignore”和“latest”过滤器可能不是所有容器相关命令都支持的通用过滤器,它们可能是特定命令或工具中定义的自定义过滤器。因此,在使用这些过滤器时,请确保您了解它们在当前上下文中的具体含义和用法。

示例

通过容器名称停止指定的容器。

podman stop mywebserver

通过容器 ID 停止容器。

podman stop 860a4b235279

停止多个容器。

podman stop mywebserver 860a4b235279

停止在 cidfile 文件中标识的容器。

podman stop --cidfile /home/user/cidfile-1

停止在多个 cidfiles 文件中标识的容器。

podman stop --cidfile /home/user/cidfile-1 --cidfile ./cidfile-2

在 2 秒内停止指定的容器。

podman stop --time 2 860a4b235279

停止所有正在运行的容器。

podman stop -a

停止最近创建的容器(此选项在远程 Podman 客户端上不可用,包括 Mac 和 Windows(不包括 WSL2)机器)

podman stop --latest

参见

podman(1), podman-rm(1)

历史

2018 年 9 月,最初由 Brent Baude 编译 bbaude@redhat.com