如何一次创build一个微服务实例运行脚本(使用docker)

我会保持简单。

我有相同的微服务的多个实例(使用dockers),这个微服务也负责同步一个caching。 每X次它从某个存储库中提取数据并将其存储在caching中。

问题是我只需要这个微服务的一个实例来完成这个工作,如果失败了,我需要另一个实现这个工作。

任何build议如何做到这一点简单?

顺便说一句,有没有一个选项来标记一些微服务docker实例,并让他做一些额外的工作?

谢谢!

重新启动失败的服务或扩大/缩小的责任是一个协调者的责任。 例如,在我最近的项目中,我使用了Docker Swarm。

目前,Docker的重启策略是:

  • :不要在退出时自动重启容器。 这是默认的。
  • on-failure [:max-retries]:仅在容器以非零退出状态退出时重新启动。 (可选)限制Docker守护程序尝试重新启动的次数。
  • 除非停止 :始终重新启动容器,不pipe退出状态如何。 当你总是指定的时候,Docker守护进程会尝试无限期地重启容器。 无论容器的当前状态如何,容器也将始终在守护进程启动时启动。
  • 始终 :无论退出状态如何,始终重新启动容器,但如果容器之前已经处于停止状态,则不要在守护进程启动时启动该容器。