Docker容器生命周期包含创建(Created)、运行(Running)、暂停(Paused)、停止(Exited)和销毁(Removed)五个核心阶段;创建时分配ID并配置资源但进程未启动,运行时PID1进程活跃并提供服务,暂停时进程挂起但内存保留,停止后文件系统仍存在可重启,销毁则彻底清除所有容器数据。

容器生命周期就是从“无”到“有”,再到“停用”最后“彻底消失”的全过程。它不是抽象概念,而是对应着明确的命令、状态和资源变化。关键在于每个阶段容器是否在运行、进程是否活跃、文件系统是否保留。
创建:准备就绪但还没开机
执行 docker create 命令时,Docker 会基于镜像生成一个独立的容器实例,分配唯一 ID,配置网络、端口映射、挂载卷等,但此时容器进程完全没启动。它的文件系统已存在,元数据已写入磁盘,只是处于静默待命状态。
- 容器状态显示为 Created
- 不占用 CPU,几乎不消耗运行时资源
- 可反复启动,也可直接跳过这步用 docker run 一步到位
启动与运行:真正开始干活
用 docker start 或首次运行 docker run -d 后,容器进入 Running 状态。PID 1 进程被拉起,应用开始监听端口、处理请求、读写数据。
- 可通过 docker ps 查看正在运行的容器
- 用 docker exec -it [name] bash 可进入容器内部调试
- 日志、网络连接、存储卷都在此阶段实际生效
暂停与恢复:冻结/解冻内存状态
docker pause 不终止进程,而是向所有子进程发送 SIGSTOP 信号,让它们立刻挂起。内存内容完整保留,CPU 归零,但内存不释放——类似电脑休眠。
- 暂停后状态变为 Paused,docker ps 仍能列出
- 适合临时隔离问题容器,又不想丢失当前上下文
- 用 docker unpause 即可毫秒级恢复,进程继续执行
停止与销毁:有序收尾和彻底清理
docker stop 发送 SIGTERM 给主进程,给应用 10 秒(可设)做优雅退出:关闭连接、刷盘、释放锁。超时未退出则发 SIGKILL 强制终结。此时容器变成 Exited 状态,但所有文件层、配置、日志都还在。
- 已停止的容器可用 docker start 重新激活
- 要彻底清除,必须用 docker rm;正在运行的需加 -f 强制删
- 若启动时用了 --rm,容器一停止就自动删除,适合测试场景


















