名称

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

简介

podman stop [选项] 容器

podman container stop [选项] 容器

描述

使用容器 ID 或名称作为输入来停止一个或多个容器。--time 选项指定在向容器发出停止命令后,强制停止容器之前等待的秒数。默认值为 10 秒。默认情况下,容器会先接收 SIGTERM 信号,超时后再接收 SIGKILL 信号。SIGTERM 默认值可以被用于创建容器的镜像覆盖,也可以在创建容器时通过命令行覆盖。

选项

--all, -a

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

--cidfile=文件

从指定的 文件 中读取容器 ID 并停止该容器。可以多次指定。

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

--filter, -f=过滤器

过滤要停止的容器。可以通过多次使用 --filter 标志来指定多个过滤器。具有相同键的过滤器共同起作用,唯一的例外是 label,它是互斥的。具有不同键的过滤器总是互斥的。

下面列出了有效的过滤器

过滤器

描述

id

[ID] 容器的 ID(默认情况下 CID 前缀匹配;接受正则表达式)

name

[名称] 容器的名称(接受正则表达式)

annotation

[Key] 或 [Key=Value] 分配给容器的注解

annotation!

[Key] 或 [Key=Value] 未分配给容器的注解

label

[键] 或 [键=值] 分配给容器的标签

label!

[Key] 或 [Key=Value] 未分配给容器的标签

exited

[整数] 容器的退出代码

status

[Status] 容器状态:‘created’(已创建)、‘initialized’(已初始化)、‘running’(运行中)、‘stopped’(已停止)、‘paused’(已暂停)、‘exited’(已退出)、‘removing’(移除中)、‘stopping’(停止中)、‘unknown’(未知)

ancestor

[ImageName] 用于创建容器的镜像或后代镜像(支持正则表达式)

before

[ID] 或 [名称] 在此容器之前创建的容器

since

[ID] 或 [名称] 在此容器之后创建的容器

volume

[卷名称] 或 [挂载点目标] 挂载在容器中的卷

health

[状态] healthy 或 unhealthy

pod

[Pod] pod 的名称或完整或部分 ID

network

[网络] 网络的名称或完整 ID

restart-policy

[Policy] 容器的重启策略(例如:‘no’、‘on-failure’、‘always’、‘unless-stopped’)

until

[DateTime] 在给定持续时间或时间之前创建的容器。

command

[命令] 容器正在执行的命令,只取 argv[0]

should-start-on-boot

[Bool] 系统重启后需要重启的容器。对于重启策略为 ‘always’ 或 ‘unless-stopped’ 且未被用户明确停止的容器,该值为 True

--ignore, -i

当指定的容器不在容器存储中时忽略错误。用户可能手动删除了一个容器,这会导致引用该容器的 systemd 服务的 ExecStop 指令执行失败。

--latest, -l

不提供容器名称或 ID,而是使用最后创建的容器。注意:最后启动的容器可能来自主机上其他 Podman 用户。(此选项在远程 Podman 客户端中不可用,包括 Mac 和 Windows(WSL2 除外)机器)

--time, -t=秒数

强制停止容器前等待的秒数。使用 -1 表示无限等待。

示例

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

$ podman stop mywebserver

通过 ID 停止容器。

$ podman stop 860a4b235279

停止多个容器。

$ podman stop mywebserver 860a4b235279

停止 cidfile 中标识的容器。

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

停止多个 cidfile 中标识的容器。

$ 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 stop --filter label=app=frontend
9351ccb3ef4272532bc0c188bd4f0ddfc2b0de217732cd108259ea126b014647

按名称停止。

$ podman stop --filter name=db-replica
6c2680da61d54690718ac3aecdb04a8aad95ae353e42cc942736823bd05c8a1d

按角色标签停止。

$ podman stop --filter label=role=primary
bb3ff91d969a8dc622d627e4a8d76c18bdbd417d317c5e7e66543c0b0c8ed1e8

另请参阅

podman(1), podman-rm(1)

历史

2018 年 9 月,由 Brent Baude bbaude@redhat.com 整理