名称

podman-rm - 删除一个或多个容器

概要

podman rm [选项] 容器

podman container rm [选项] 容器

描述

podman rm 从主机删除一个或多个容器。可以使用容器名称或 ID。这不会删除镜像。运行或不可用的容器不会在没有-f选项的情况下被删除。

选项

--all, -a

删除所有容器。可以与-f一起使用。

--cidfile=文件

从指定的文件中读取容器 ID 并删除容器。可以多次指定。

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

--depend

删除选定的容器并递归删除所有依赖它的容器。

--filter=过滤器

筛选要删除的容器。可以使用多个 --filter 标志来指定多个过滤器。具有相同键的过滤器将包含在内,唯一的例外是label,它是排他的。具有不同键的过滤器始终是排他的。

下面列出了有效的过滤器

过滤器

描述

id

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

name

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

label

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

exited

[Int] 容器的退出代码

status

[Status] 容器的状态:‘created’,‘exited’,‘paused’,‘running’,‘unknown’

ancestor

[ImageName] 用于创建容器的镜像或后代

before

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

since

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

volume

[VolumeName] 或 [MountpointDestination] 挂载到容器中的卷

health

[Status] healthy 或 unhealthy

pod

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

network

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

until

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

--force, -f

强制删除运行和暂停的容器。强制删除容器还会从容器存储中删除容器,即使容器对 Podman 未知。例如,由其他容器引擎(如 Buildah)创建的容器。此外,强制可以用来删除不可用的容器,例如 OCI 运行时已不可用的容器。

--ignore, -i

当指定容器不在容器存储中时忽略错误。用户可能已决定手动删除容器,这会导致在引用该容器的 systemd 服务的 ExecStop 指令期间出现错误。

当指定的 --cidfile 不存在时,还应忽略它,因为它可能已与容器一起删除。

--latest, -l

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

--time, -t=

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

必须指定 --force 选项才能使用 --time 选项。

--volumes, -v

删除与容器关联的匿名卷。这并不包括使用 podman volume createpodman runpodman create--volume 选项创建的命名卷。

示例

删除具有给定名称的容器

$ podman rm mywebserver

删除具有给定名称的容器及其所有依赖的容器

$ podman rm --depend mywebserver

删除具有给定名称或 ID 的多个容器

$ podman rm mywebserver myflaskserver 860a4b23

从文件中读取 ID 来删除多个容器

$ podman rm --cidfile ./cidfile-1 --cidfile /home/user/cidfile-2

强制删除具有给定 ID 的容器

$ podman rm -f 860a4b23

删除所有容器,无论运行状态如何

$ podman rm -f -a

强制删除最后创建的容器。(此选项在远程 Podman 客户端(包括 Mac 和 Windows(不包括 WSL2)机器)不可用)

$ podman rm -f --latest

退出状态

0 所有指定的容器已删除

1 指定的容器之一不存在,没有其他错误

2 指定的容器之一处于暂停或运行状态

125 命令因任何其他原因而失败

另请参见

podman(1)

历史

2017 年 8 月,最初由 Ryan Cole rycole@redhat.com 编写