启停命令是什么
compose 提供一组运行状态开关:stop 停止容器但保留资源,start 把已创建的容器重新启动,restart 重启容器内的进程,pause 与 unpause 冻结与恢复。这组命令的共同点是「不重建容器」,因此改了编排文件或换了镜像标签,用它们都不会生效——那需要 up 让 Compose 重新创建容器。
基本信息
| start | 启动已存在但处于停止状态的容器 |
|---|---|
| stop | 停止容器,容器与网络保留,可随时再启动 |
| restart | 重启指定服务的容器 |
| pause / unpause | 冻结与恢复容器进程,不终止进程 |
| kill | 向容器发送信号强制终止 |
| down | 停止并删除容器与网络(加 -v 还删卷) |
| 配置生效 | 必须 up 触发重建,才应用新配置 |
典型使用场景
- 临时停服务做维护,维护完用 start 快速恢复
- 进程假死时用 restart 快速恢复,不改动任何配置
- 排查端口占用:先 pause 或 stop 释放端口再验证
- 演练故障:pause 服务观察上游重试行为
- 下线整套环境:down 清理容器与网络
- 发布新版本:改用 up -d 重建容器而不是 restart
常用动作
常用动作
# 停止与恢复单个服务
docker compose stop web
docker compose start web
# 重启服务容器(配置不变的情况下)
docker compose restart worker
# 冻结与恢复:进程不终止,占用不释放
docker compose pause db
docker compose unpause db
# 强制重启:先终止再启动,适合应用卡住的情况
docker compose kill -s SIGTERM worker && docker compose start worker
# 配置或镜像有变化时,改用 up 触发重建
docker compose up -d web
# 下线整套环境(加 -v 会连项目卷一起删除)
docker compose down命令语义对照
| 命令 | 容器对象 | 是否重建 | 典型用途 |
|---|---|---|---|
| start | 已存在 | 否 | 维护后恢复 |
| stop | 运行中 | 否 | 临时停机 |
| restart | 运行中 | 否 | 进程异常恢复 |
| pause | 运行中 | 否 | 冻结观察 |
| kill | 运行中 | 否 | 强制终止 |
| up | 按需创建 | 是(配置变化时) | 发布与改配置 |
| down | 全部 | 删除 | 环境下线 |
stop 与 pause 的差别在资源:stop 会终止进程并释放端口与内存,pause 只是冻结,端口与内存仍被占用;排查端口冲突时要用 stop 而不是 pause。
改了编排文件(镜像标签、端口、环境变量、资源限制)后必须 up -d 才会应用;习惯性用 restart 会得到「配置没生效」的假象。