Live Restore 功能需在 Docker Engine 安装运行后,通过编辑 /etc/docker/daemon.json 添加 "live-restore": true 并执行 systemctl reload docker 启用,仅支持同主版本内补丁升级,且不可变更存储驱动、网络参数或 data-root。
要在 docker engine 安装后启用 live restore 功能,核心是让 dockerd 在重启或升级时“放手不管”正在运行的容器——它们继续跑,只是暂时没人管;等 daemon 一回来,就自动重新接管。这不依赖容器是否设置了 restart 策略,而是守护进程层面的保活机制。
确认 Docker 已安装并运行正常
执行 docker version 和 systemctl status docker,确保 dockerd 正在运行且无报错。Live Restore 是 daemon 配置项,必须在服务已启动的前提下配置生效。
编辑 daemon.json 启用 live-restore
打开或新建配置文件:
sudo vim /etc/docker/daemon.json
添加或确认包含以下字段(其他原有配置保持不变):
{"live-restore": true}
⚠️ 注意:不要删除已有配置(如 registry-mirrors、data-root、insecure-registries 等),只追加或修改这一项。若文件为空或不存在,直接写入完整 JSON 对象即可。
重载配置并验证是否生效
不重启服务,仅重载配置:
sudo systemctl daemon-reload-
sudo systemctl reload docker(推荐,比 restart 更安全)
验证是否启用成功:
docker info | grep -i "live restore"
输出应为:Live Restore Enabled: true
升级引擎时仍需严守适用边界
Live Restore 不是万能热升级开关,它只在特定条件下起作用:
- 仅支持同一主版本内的补丁升级(例如 26.1.3 → 26.1.4),跨次版本(25.x → 26.x)或主版本升级会失败
- 升级前禁止变更存储驱动(如 overlay2 → fuse-overlayfs)、bridge 网络参数(--bip)、data-root 路径或权限
- 新版包若自带默认 daemon.json 模板,需人工比对,保留原有 live-restore 及关键配置项
升级完成后,用 docker ps 和 docker inspect 容器名 -f '{{.State.Status}}' 确认容器状态持续为 running,且日志未中断。


















