在Docker中,stop和pause是两种不同的容器状态管理命令,主要区别如下:
docker stopSIGTERM 信号给容器内的主进程(PID 1),允许进程自行清理资源。SIGKILL 终止(可通过 -t 调整超时时间)。Exited 状态。docker start 重新运行。示例:
docker stop my_container # 停止容器
docker start my_container # 重新启动
docker pausefreezer 功能,暂停所有进程的执行(CPU/IO 冻结)。Paused 状态。docker unpause 立即恢复运行(从冻结点继续)。示例:
docker pause my_container # 冻结容器
docker unpause my_container # 恢复运行
| 特性 | docker stop |
docker pause |
|---|---|---|
| 状态变化 | Running → Exited |
Running → Paused |
| 资源释放 | 完全释放 | 仅冻结(内存不释放) |
| 恢复方式 | 需重新启动(docker start) |
立即恢复(docker unpause) |
| 进程处理 | 终止进程 | 冻结进程 |
| 典型用途 | 长期停止服务 | 临时暂停(如调试备份) |
stop。pause(例如保留现场排查问题)。SIGTERM,stop 可能导致强制终止(需检查应用逻辑)。通过理解这些差异,可以更精准地控制容器生命周期。