【问题标题】:Restart task in docker service after a certain time一定时间后重新启动docker服务中的任务
【发布时间】:2017-06-14 06:50:02
【问题描述】:

我有一个有 3 个节点的集群。在它上面,我想为数据库启动一项服务,然后启动另一项服务,其中包含一些运行 python 应用程序的副本。该程序大约需要 30 分钟才能完成。之后,容器将关闭并启动一个新容器。但是,有时会出现一些问题并且容器不会停止。启动服务时是否可以使用任何选项,以便在 1 小时后自动杀死一个容器并创建一个新容器?

【问题讨论】:

  • 你能创建一个健康检查吗? (docs.docker.com/engine/reference/builder) 结合重启策略,应该做你想做的事
  • @ChristianSauer,我以前从未创建过健康检查,所以我不确定要检查什么。我能以某种方式获取 python 应用程序在容器中运行的时间吗?
  • 健康检查可以是任何东西,例如在容器内运行的 bash 脚本,它检查您的 python 应用程序在最后几秒钟内是否已触及某个文件......或者任何有意义的指示您的应用充满活力

标签: docker containers docker-swarm


【解决方案1】:

您可以使用 Docker Remote API 创建一个应用程序,该应用程序会自动创建该容器,等待一小时,将其部署到 swarm,然后删除该容器。这不是在 docker 中寻找的功能。您应该使用 Docker API 手动实现它。 您可以在 here 找到 docker 库的完整列表来帮助您入门。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2012-06-12
    • 1970-01-01
    • 2021-04-14
    相关资源
    最近更新 更多