【问题标题】:Docker swarm route only when replica has finished starting仅当副本完成启动时 Docker swarm 路由
【发布时间】:2020-07-09 12:19:47
【问题描述】:

我已经设置了一个 docker swarm 配置,它启动了一个复制 x 次的 java webserver 映像。现在,服务器需要时间来启动(约 40 秒),而容器本身会快速启动。

问题是,docker一启动就开始路由到容器,不知道容器内的服务是否准备好为请求提供服务,在我的情况下不是立即

配置 docker swarm 的惯用方法是什么,它只路由到服务器接受请求的容器?

【问题讨论】:

    标签: docker routes containers docker-swarm


    【解决方案1】:

    因此有一个用于 compose 文件部署的 healthcheck 部分,可以用来确保容器是否健康。

    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3482/monitoring/health"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 1m
    

    这将确保在健康 api 返回有效响应时首先使用容器。

    【讨论】:

    • 你能添加docker service这个命令版本吗?
    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多