名称¶
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 |
[名称] 容器的名称(接受正则表达式) |
label |
[键] 或 [键=值] 分配给容器的标签 |
exited |
[整数] 容器的退出代码 |
status |
[状态] 容器的状态:“created”、“initialized”、“exited”、“paused”、“running”、“unknown” |
ancestor |
[ImageName] 用于创建容器的镜像或其后代 |
before |
[ID] 或 [名称] 在此容器之前创建的容器 |
since |
[ID] 或 [名称] 在此容器之后创建的容器 |
volume |
[卷名称] 或 [挂载点目标] 挂载在容器中的卷 |
health |
[状态] healthy 或 unhealthy |
pod |
[Pod] pod 的名称或完整或部分 ID |
network |
[网络] 网络的名称或完整 ID |
until |
[DateTime] 在给定持续时间或时间之前创建的容器。 |
command |
[命令] 容器正在执行的命令,只取 argv[0] |
--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 create 或 podman run 和 podman 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
按名称移除
$ podman rm --filter name=test-alpine
34f997d354017a0076402c3a79245a5b8bd11b597c84385bec25ae8941fd5238
按标签移除
$ podman rm --filter label=app=frontend
5a3694a13436168ea99490e74b489566c646d6a0db29868f57113298110d1b1c
按状态移除
$ podman rm --filter status=exited
4a3332649ed8bec1e0d82e113074b9a13d45582007aeac969c005992cc480a73
f8e85f84a749b205fb602895afa6ec8a866045ff27b82f843033712c8b93a2c9
7d17e850c9b172f11a3e20bab81da6fc694c35c2dc38d84083eb57869dcaca63
47972eb04aa7c77705b597a929957d1e8a392e00b44c0a2a7f88a01f9f860d11
按祖先移除
$ podman rm --filter ancestor=nginx
8a7668cdec27664559a7da55ed5cda101f904441f7245e248218580656b2bae3
0d297b336bf31d141c7720a791c45dafdb8b5033deaab12f29b88e5bff6b122d
134475ac5140687d1eefff19f937dc24755f6c18e37e11d61b1084b59f1bdbe2
按卷移除
$ podman rm --filter volume=web-vol
b3f4d4c6a67e2ef1e089efdc8ff3a47dba008eb0ff1e53ae60f59279cb43f9ba
按网络移除
$ podman rm --filter network=web-net
1c057cac90c0512df86197599eef5a9485afc900b1ade03c9739fa24c360bbda
移除容器,如果它们不存在则忽略错误
$ podman rm --ignore mycontainer1 mycontainer2 nonexistent-container
mycontainer1
mycontainer2
退出状态¶
0 所有指定的容器已移除
1 指定的容器之一不存在,没有其他失败
2 指定的容器之一已暂停或正在运行
125 命令因任何其他原因失败
另请参阅¶
历史¶
2017 年 8 月,最初由 Ryan Cole rycole@redhat.com 编译