名称

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

概要

podman wait [选项] 容器 […]

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

描述

等待一个或多个容器停止。容器可以通过其名称或 ID 来引用。对于多个容器,Podman 会依次等待每个容器。所有条件都满足后,容器的返回代码将以换行符分隔,并按照它们传递给命令的顺序打印。对于除了“已停止”和“已退出”以外的所有条件,都会发出 -1 的退出代码。

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

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

选项

--condition=状态

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

--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