名称

podman-wait - 等待一个或多个容器停止并打印它们的退出代码

简介

podman wait [选项] 容器 […]

podman container wait [选项] 容器 […]

描述

等待一个或多个容器停止。容器可以通过其名称或 ID 来引用。如果有多个容器,Podman 会按顺序等待每个容器。所有条件都满足后,容器的返回代码将以换行符分隔,并按照它们在命令中给出的相同顺序打印。除“stopped”和“exited”之外的所有条件都将发出 -1 的退出代码。

当等待重启策略为 alwayson-failure 的容器时,例如通过 podman kube play 创建的容器,这些容器可能会反复退出并重启,可能带有不同的退出代码。podman wait 将仅显示和检测等待命令启动后的第一次退出。

当使用 podman run --rm 运行容器时,wait 不会等待容器完全移除。要等待容器移除,请使用 --condition=removing

选项

--condition=状态

要等待的容器状态或条件。可以指定多次,其中至少一个条件必须匹配才能使命令返回。支持的值有“configured”、“created”、“exited”、“healthy”、“initialized”、“paused”、“removing”、“running”、“stopped”、“stopping”、“unhealthy”。默认条件是“stopped”。

--exit-first-match

等待第一个符合条件的容器退出,忽略其他容器。

--help, -h

打印用法说明

--ignore

当指定的容器丢失时忽略错误,并将其返回代码标记为 -1。

--interval, -i=持续时间

轮询完成前等待的时间间隔。持续时间字符串是一系列十进制数字,每个数字都有可选的小数部分和单位后缀,例如“300ms”、“-1.5h”或“2h45m”。有效的时间单位是“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。时间单位默认为“ms”。

--latest, -l

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

示例

等待指定的容器退出。

$ podman wait mywebserver
0

等待最新的容器退出。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)

$ podman wait --latest
0

等待容器退出,每两秒检查一次。

$ podman wait --interval 2s mywebserver
0

按 ID 等待容器。此容器将以错误状态 1 退出

$ podman wait 860a4b23
1

等待两个指定的容器退出。

$ podman wait mywebserver myftpserver
0
125

等待命名的容器退出,但如果容器不存在则不失败。

$ podman wait --ignore does-not-exist
-1

另请参阅

podman(1)

历史

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