技术与生活 / 一篇记录
一直在重启,并不叫自动恢复成功
自动重启有助于进程退出后的恢复,但反复崩溃需要查明根因。
重启策略能重新拉起退出进程,却无法修复错误密码、缺失文件或不兼容镜像。反复失败还会造成日志增长和资源抖动,影响同机其他服务。
从一个例子看起
容器名与镜像名仅作示例;操作前先确认目标对象,不直接对不明数据执行清理。
docker inspect --format '{{.RestartCount}}' demo-app
连续观察重启计数是否增长,并查看上一次退出原因。
排查时再往前走一步
检查退出状态、OOM 标记与最近几轮启动日志。修复根因后继续观察一段时间,确认重启计数不再增长,而不是只截取某一瞬间的 Up 状态。
部分任务本来就会正常退出,不能把它们与常驻服务使用同一预期。设置重启策略前,先确定容器是一次性作业还是长期服务,否则正常结束也可能变成无意义重复执行。
不要把不断重启误认为服务保持可用。
参考:Docker 文档。