docker pause命令用于暂停运行中的容器,通过cgroups freezer冻结所有进程,容器状态变为Paused但资源保留,仅支持Linux系统且要求容器处于running状态。
docker pause 命令用于暂停一个或多个正在运行的容器,它会冻结容器内所有进程的执行(通过 linux 的 cgroups freezer 功能),但容器仍保持运行状态(状态显示为 paused),网络和文件系统等资源依然保留。
使用前提与限制
确保:
- Docker 守护进程正在运行,且你有操作权限(通常需
sudo或加入docker用户组); - 目标容器处于
running状态(不能暂停已停止、退出或已暂停的容器); - 宿主机内核支持 cgroups freezer(现代主流 Linux 发行版默认启用,无需额外配置)。
基本用法
语法很简单:
docker pause [OPTIONS] CONTAINER [CONTAINER...]
例如暂停名为 webapp 的容器:
docker pause webapp
一次暂停多个容器(用空格分隔):
docker pause db redis nginx
验证是否暂停成功
运行以下命令查看容器状态:
docker ps
你会看到对应容器的 STATUS 列显示为 Paused (X seconds ago),而不是 Up ...。也可以用:
docker inspect -f '{{.State.Status}}' webapp
输出应为 paused。
恢复容器:使用 docker unpause
暂停后容器不会自动恢复,必须手动执行:
docker unpause webapp
恢复后,容器内进程继续从暂停点执行,时间感知(如 sleep、定时器)会跳过暂停时段——这点和虚拟机挂起不同,是轻量级冻结的特点。


















