第一章:容器"猝死"的烦恼——为什么需要自动重启?
作为一名资深码农,你是否经历过这样的悲惨夜晚:凌晨三点,手机铃声撕裂美梦,监控系统尖叫着告诉你——容器又双叒叕挂了!你揉着惺忪睡眼,挣扎着爬起来,手动重启服务,然后祈祷它能撑到天亮。
这场景堪比恐怖片,但却是许多开发者的日常。容器虽轻量,但并非金刚不坏之身。内存泄漏、资源竞争、未处理异常、依赖服务不可用...无数种死法等着你的容器"壮烈牺牲"。
但等等,这真的是必须忍受的吗?当然不!Docker早就为我们准备了"复活甲"——自动重启机制。就像游戏里的角色拥有第二条命,合理配置的容器可以在崩溃后自动重生,继续为人民服务。
第二章:重启策略全解析——Docker的"复活术"秘籍
Docker提供了四种重启策略,就像不同等级的"医疗保障":
1. no——佛系策略(默认)
"生死有命,富贵在天"
容器挂了就挂了,Docker冷眼旁观,绝不插手。适合那些你想完全手动控制的场景。
2. on-failure[:max-retries]——精准医疗
"小病救治,大病等死"
只有在容器以非零状态退出时(即出错退出),Docker才会重启它。还可以指定最大重试次数,避免无限循环。
3. always——忠实守护者
"无论生老病死,我永远在你身边"
除非你明确停止容器,否则Docker总会重启它。就算主机重启,Docker服务启动后也会重新启动容器。
4. unless-stopped——智能管家
"你想让我停,我就停;否则我永远工作"
与always类似,但不会在容

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



