提升Docker使用幸福感,为禅道优雅设置Docker重启策略


title: 提升Docker使用幸福感,为禅道优雅设置Docker重启策略
tags:

  • 个人成长
    categories:
  • 杂谈

遇到一个服务意外停止的小问题

我最近用Docker搭建了一个两个postgis数据库,一个用于测试环境,一个用于生产环境,后面调整Docker配置时,重启了Docker ,发现测试环境的数据库挂掉了,而生产环境的数据库正常运行

我排查了一下,发现是两个服务的重启策略不同

img

查看容器当前重启策略的命令如下

docker inspect --format='{{.HostConfig.RestartPolicy.Name}}' container_name_or_id

于是我将测试环境容器 testpostgis 的重启策略也设置成了 unless-stopped

docker update --restart unless-stopped container_name_or_id

img

完美搞定!

改良运行方式,优雅使用开源项目禅道

如果你也使用禅道做需求管理,你会发现官方给的运行命令,如果遇到Docker重启的情况,禅道就需求手动重启,如果使用 unless-stopped参数,你就可以让禅道在重启Docker或重启服务器后,自动恢复服务

img

禅道Docker启动文档

https://www.zentao.net/book/zentaopms/docker-1111.html

img

使用unless-stop配合docker开机自启,能减少很多运维风险。

重启策略有四个
  • no (不重启) 这是默认的重启策略,适用于数据分析脚本: 比如一个每晚运行的Python脚本,用于处理日志文件并生成报告。脚本运行完毕后自然退出,无需重启。
  • on-failure (失败时重启): 适用于定时任务服务: 如cron作业调度器,预期能正常运行并退出,但如果因意外错误崩溃,则需要重启以确保后续任务能够执行。
  • always (总是重启): 适用于Web服务器: 如Nginx需要24/7不间断运行以服务网站访问。
  • unless-stopped (除非停止否则总是重启): 适用于开发环境的数据库: 开发者可能需要频繁修改配置或数据,可以手动停止而不是每次都删除容器。
小结

掌握了这些重启策略,可以让我们使用Docker运行服务的过程中更加得心应手,即使遇到Docker重启,服务器重启这种事件,也可以有条不紊的恢复各种服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值