首页/云/Docker 容器速查/docker start 启动已停止容器
基础命令50 条

docker start 启动已停止容器

重新启动一个已存在(Exited 状态)的容器,沿用创建时固化的全部配置;-a 前台附着,-ai 交互进入。

Docker 容器速查云更新于 2026-10-13

docker start 是什么

启动一个已经存在但处于停止状态的容器。它复用原容器的全部配置与可写层:端口、挂载、环境变量、网络都沿用创建时固化的值,数据也仍在文件系统里。它不做重新创建,所以任何创建期配置都无法通过它修改。

基本信息

语法docker start [选项] CONTAINER...
常用选项-a 附着到容器输出 -i 保持标准输入
特点复用原容器与数据,不重新创建
前置条件容器已存在且处于停止状态
与前台的差异启动后默认在后台运行,输出需要另取

典型使用场景

  • 维护后恢复:计划内停机结束后把服务重新启动起来
  • 调试结束后复产:临时停止容器排查问题,完事再启动回来
  • 宿主机重启后手工恢复:没配自动重启策略时按清单逐个启动
  • 重放数据:停止后的容器保留可写层内容,启动后继续用原有数据运行
  • 批量恢复:按标签筛出停止的容器统一启动

常用示例

常用示例
docker start web                                       # 后台启动
docker start -ai web                                   # 附着并保持输入,便于观察
docker start $(docker ps -aq --filter label=env=dev)   # 按标签批量启动
docker ps --filter status=exited --format '{{.Names}}'  # 先看有哪些已停止的
docker logs --tail 50 web                              # 启动后确认输出

能改与不能改

配置项启动能否修改需要怎么做
端口映射不能删除容器后重新创建
挂载与卷不能删除容器后重新创建
环境变量不能删除容器后重新创建
网络接入不能删除容器后重新创建,或按引擎能力增减网络
重启策略可以用更新命令在线调整
资源限制部分可以内存与处理器配额一般可在线调整

启动后要确认的事

  • 看状态是否稳定,避免启动后又立刻退出
  • 看日志确认应用完成了初始化,尤其是数据库类服务
  • 确认端口从外部可达,避免服务正常但入口不通
  • 确认依赖服务同样已恢复,否则应用会反复重试
  • 确认监控恢复采集,避免恢复过程无人察觉
它不会重新拉取镜像、不会重新读取环境变量文件、不会重新执行初始化脚本。这些动作都发生在创建容器时,停止状态只是进程被中止。
附着到容器输出后按中断组合键,信号会传给容器主进程,可能把刚启动的服务又停掉。生产环境只做后台启动,观察输出用日志命令。

易错点

  • 想改端口或挂载却去启动容器,配置永远不变,白折腾一轮
  • 附着急停键观察输出,结果把刚启动的服务又停了
  • 宿主机重启后逐个手工启动,遗漏某个服务造成部分功能不可用
  • 忘记容器内数据仍在可写层,启动后继续写,容器一删数据还是丢

数据来源与参考

  • Docker 官方 CLI 参考:docker start(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌