docker-compose restart 策略
restart 策略用于控制容器在退出后的行为。
on-failure
是指在容器退出时,当其退出状态码不为0(即失败)时,自动重启该容器。具体来说,它会重启那些在容器退出时返回非0状态码的容器。如果容器在退出时返回状态码0,则不会自动重启该容器。- no:容器退出时不重启容器;
- always:容器退出时总是重启容器;
- unless-stopped:容器退出时重启容器,除非容器被手动停止。
部署服务时,应该根据服务的性质和重要程度选择合适的 restart 策略。下面列举了几种常见的情况和建议的 restart 策略:
- Web 服务器:建议使用 always 或 unless-stopped 或 on-failure 策略,以确保 Web 服务器始终处于运行状态,可以提供服务。
- 数据库服务器:建议使用 unless-stopped 策略,因为在某些情况下,数据库服务器可能需要手动停止,例如在执行升级操作时。unless-stopped 策略可以在容器被手动停止时不重启容器,从而避免意外的数据丢失。
- 队列服务:建议使用 always 策略,因为队列服务需要一直运行来处理任务。如果容器在处理任务时出现故障,自动重启能够及时恢复服务,避免任务积压。
- 日志收集服务:建议使用 no 策略,因为这种服务通常只需要在容器启动时运行一次,然后在后台持续运行,不需要重启容器。
当然,这只是一些常见的情况和建议,实际上应该根据具体服务的需求和重要性来选择合适的 restart 策略。
作者:ABEELAN
出处:https://www.cnblogs.com/abeelan/p/17251199.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~