Docker是否支持每X秒重新启动一次容器
我有一个保持两个数据源同步的日志存储容器。当它运行时,它查询一个数据库中的非同步条目并将它们发布到另一个数据库中。我想每10秒运行一次这个容器 我一直在做的是指定Docker是否支持每X秒重新启动一次容器,docker,cron,scheduled-tasks,restart,Docker,Cron,Scheduled Tasks,Restart,我有一个保持两个数据源同步的日志存储容器。当它运行时,它查询一个数据库中的非同步条目并将它们发布到另一个数据库中。我想每10秒运行一次这个容器 我一直在做的是指定--restart=always,这样当容器退出时,它会自己重新启动,大约需要5秒钟,这对于这个用例来说有点太频繁了 Docker是否支持我想要实现的目标(在重启之间等待X秒,或任何形式的调度),或者我是否应该删除重启策略并使用cron将其调度为每10秒运行一次?如果容器成功退出,它将立即使用--restart=always 每次重新启
--restart=always
,这样当容器退出时,它会自己重新启动,大约需要5秒钟,这对于这个用例来说有点太频繁了
Docker是否支持我想要实现的目标(在重启之间等待X秒,或任何形式的调度),或者我是否应该删除重启策略并使用cron将其调度为每10秒运行一次?如果容器成功退出,它将立即使用
--restart=always
每次重新启动前都会添加一个不断增加的延迟(前一个延迟的两倍,从100毫秒开始),以防止服务器溢出。这意味着守护进程将等待100毫秒,然后等待200毫秒、400毫秒、800毫秒、1600毫秒等等,直到达到on故障限制,或者当docker停止或docker rm-f容器时
我想这是你的部分:
如果容器成功重新启动(容器启动并运行至少10秒),延迟将重置为其默认值100毫秒
您可以做的是:
- 每隔10秒用cron重新启动容器
- 在容器中配置一个cron,并每10秒启动一次logstash
- 使用shell脚本,在循环中启动logstash,然后休眠10
- 也许logstash已经内置了类似的东西?(例如,我知道jdbc输入插件有一些调度参数)