暂停一个或多个正在运行的容器
概述
Podman Pause 命令用于暂停一个或多个正在运行的容器。当容器被暂停时,它内部的进程会被冻结,不再继续执行,但容器的状态和数据会保持不变。这允许开发者在需要时中断容器的运行,以便进行调试、备份或其他维护操作,而无需完全停止容器。
命令格式
podman pause [OPTIONS] CONTAINER [CONTAINER...]
Podman过滤器详解
Podman是一款开源的容器管理工具,允许用户在不使用守护进程的情况下管理容器。在Podman命令中,过滤器(Filter)是一个重要的组件,它允许用户根据特定的条件来筛选和选择容器。
过滤器 | 描述 |
---|---|
id | 根据容器的ID筛选容器。支持ID前缀匹配和正则表达式。 |
name | 根据容器的名称筛选容器。支持正则表达式。 |
label | 根据分配给容器的标签筛选容器。可以指定标签的键或键值对。 |
exited | 根据容器的退出码筛选容器。 |
status | 根据容器的状态筛选容器。状态可以是created 、exited 、paused 、running 或unknown 。 |
ancestor | 根据创建容器的镜像或其后代筛选容器。 |
before | 筛选出在指定容器之前创建的容器。可以指定容器的ID或名称。 |
since | 筛选出在指定容器之后创建的容器。可以指定容器的ID或名称。 |
volume | 根据容器中挂载的卷筛选容器。可以指定卷的名称或挂载点的目标位置。 |
health | 根据容器的健康状态筛选容器。状态可以是healthy 或unhealthy 。 |
pod | 根据pod的名称或完整或部分ID筛选容器。 |
network | 根据容器连接的网络筛选容器。可以指定网络的名称或完整ID。 |
until | 筛选出在指定时长或时间之前创建的容器。 |
这些过滤器可以单独使用,也可以组合使用,以构建更复杂的筛选条件,从而精确地选择和管理容器。在Podman命令中使用这些过滤器时,通常需要以--filter
或-f
选项的形式指定。
参数说明
- CONTAINER:指定要暂停的容器名称或ID。可以指定多个容器,用空格分隔。
- OPTIONS:可选参数,用于控制命令的行为。
可选参数
- --all, -a:暂停所有正在运行的容器。
- --cidfile:从文件中读取容器的ID,并暂停该容器。可以多次指定该选项以从多个文件中读取ID。
- --latest:暂停最近创建的容器。此选项在远程Podman客户端(包括Mac和Windows上的客户端,WSL2除外)上不可用。
- --no-trunc:不截断输出信息。
- --quiet, -q:静默模式,只显示容器ID。
使用示例
暂停指定容器
podman pause mywebserver
通过部分容器ID暂停容器
podman pause 860a4b23
暂停所有正在运行的容器
podman pause --all
通过文件中的容器ID暂停容器
假设你有两个文件,分别包含不同容器的ID:
podman pause --cidfile /home/user/cidfile-1
podman pause --cidfile /home/user/cidfile-1 --cidfile ./cidfile-2
暂停最新容器(仅适用于本地Podman客户端)
podman pause --latest
请注意,--latest
选项仅适用于本地Podman客户端,不适用于远程客户端(如Mac和Windows上的Podman客户端,WSL2除外)。
注意事项
- 暂停容器时,容器内的进程将被冻结,不会继续执行。
- 暂停的容器仍然占用系统资源,如内存和磁盘空间。
- 使用
podman unpause
命令可以恢复被暂停的容器。 - 在暂停容器之前,请确保已保存所有重要的数据和状态,以防止数据丢失或不一致。
相关命令
- podman unpause:用于恢复被暂停的容器。
- podman start:用于启动一个或多个容器。
- podman stop:用于停止一个或多个容器。
- podman rm:用于删除一个或多个容器。
查阅更多信息
如需获取更多关于Podman Pause命令的详细信息,请参阅Podman的官方文档或使用man podman-pause
命令查看手册页。
历史
Podman Pause 命令自2017年9月起可用,最初由 Dan Walsh 整理编写。随着Podman的不断发展,该命令也得到了不断的改进和优化。