跳到主要内容

暂停一个或多个正在运行的容器

概述

Podman Pause 命令用于暂停一个或多个正在运行的容器。当容器被暂停时,它内部的进程会被冻结,不再继续执行,但容器的状态和数据会保持不变。这允许开发者在需要时中断容器的运行,以便进行调试、备份或其他维护操作,而无需完全停止容器。

命令格式

podman pause [OPTIONS] CONTAINER [CONTAINER...]

Podman过滤器详解

Podman是一款开源的容器管理工具,允许用户在不使用守护进程的情况下管理容器。在Podman命令中,过滤器(Filter)是一个重要的组件,它允许用户根据特定的条件来筛选和选择容器。

过滤器描述
id根据容器的ID筛选容器。支持ID前缀匹配和正则表达式。
name根据容器的名称筛选容器。支持正则表达式。
label根据分配给容器的标签筛选容器。可以指定标签的键或键值对。
exited根据容器的退出码筛选容器。
status根据容器的状态筛选容器。状态可以是createdexitedpausedrunningunknown
ancestor根据创建容器的镜像或其后代筛选容器。
before筛选出在指定容器之前创建的容器。可以指定容器的ID或名称。
since筛选出在指定容器之后创建的容器。可以指定容器的ID或名称。
volume根据容器中挂载的卷筛选容器。可以指定卷的名称或挂载点的目标位置。
health根据容器的健康状态筛选容器。状态可以是healthyunhealthy
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的不断发展,该命令也得到了不断的改进和优化。