首页 > 解决方案 > 如何使用 shell 脚本过滤按小时运行的 docker 容器?

问题描述

我想创建一个可以按小时过滤 docker 运行的脚本。

标签: bashdockershelldocker-compose

解决方案


假设您只专注于运行数小时而不是数月、数天或数秒的容器,您可以运行:

docker ps -f status=running --format "{{.ID}}: {{.Names}} {{.RunningFor}}" | awk '/hours/ && $3 > 4 { print $0 }'

这会格式化 docker ps 的输出以打印正在运行的容器的 ID、名称和运行时间。然后,我们将输出通过管道传输到 awk 并检查任何带有“小时”的输出。如果我们找到输出,我们检查小时数是否大于 4(5 小时或更多)并打印该行。


推荐阅读