【问题标题】:Automation to restart docker container on some trigger在某些触发器上自动重启 docker 容器
【发布时间】:2022-12-23 16:57:34
【问题描述】:

我的媒体服务器(在 Synology NAS 上运行的 plex/xTeVe)上有一个有问题的 docker 容器,它喜欢停止响应请求但在其他方面是健康的(docker-compose healthchecks 不会失败)。

有没有办法开发一个可以自动重启这个容器的触发器?我有一个网络服务器,并且很乐意托管其他家庭自动化工具来实现这一目标。我只是还没有找到可行的选择。奖励积分,如果这对配偶友好,那么当另一个家庭成员遇到媒体服务器问题时,他们可以有一个简单的触发器来重新启动容器,而无需了解技术方面(简单的网页、物理家庭自动化按钮、Alexa命令等)。

我很想听听任何和所有的建议!谢谢!

【问题讨论】:

  • 您可以在运行容器的主机上配置一个 cron 作业,并定期检查通常停止响应的服务并发送重启命令。这可以通过 bash 或 python(例如docker-py)脚本来完成。

标签: docker docker-compose synology home-automation plex


【解决方案1】:

采用计划定期运行检查/监控外壳脚本并对检测到的条件/事件做出反应。

现代媒体服务器通常通过 http 提供一些播放列表,因此,要检测可用性,您可以简单地使用卷曲检查服务器对特定 URL 的响应,超时时间很短,如果没有响应或响应不佳,则决定执行“docker restart container_name”。

笔记:

  • 您不需要循环和开放会话,因为玉米会为您完成。
  • 使用vi my_script.sh创建你的脚本
  • 使用crontab -e 将您的脚本添加到 cron 表

【讨论】:

    最近更新 更多