【问题标题】:Restart FastAPI Automatically on Crash using Docker in Swarm Mode在 Swarm 模式下使用 Docker 在崩溃时自动重启 FastAPI
【发布时间】:2021-10-21 06:26:15
【问题描述】:

Python 程序可能会因一些未捕获的异常而崩溃(可能是由于编码不佳、动态类型等)。

我认为,如果我使用 Docker Swarm 模式启动我的应用程序的多个实例(并使用适当的日志记录来了解错误并稍后纠正它),那么如果一个实例崩溃,我的应用程序仍将运行(正如我正在使用的那样)多个实例)。同时,我可以重启崩溃的实例。

如果我在这里做了任何错误的假设,请告诉我。

FastAPI's Documentation 中提到如果在 Docker Swarm 模式下崩溃,我们可以重新启动程序。但是,它并没有说明怎么做(至少我找不到)。

谁能告诉我如何在 Swarm 模式下使用 Docker 在崩溃时自动重启 FastAPI。

【问题讨论】:

    标签: docker fastapi docker-swarm-mode


    【解决方案1】:

    Docker Swarm ensures 实例(容器)的数量与您在 compose 文件中声明的一样多。

    例如,你可以声明你想拥有六个replicas的FastAPI:

    docker-compose.yml

    services:
      fast_api:
        deploy:
          mode: replicated
          replicas: 6
    

    如果您的(六个)FastAPI 容器之一崩溃,Swarm 将自动启动一个新容器,以再次确保六个容器正在运行。

    【讨论】:

      猜你喜欢
      • 2017-02-27
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多