在更新docker swarm时,出现了短时间的拒绝连接



我有一个由docker swarm构建的集群,它运行一个springboot项目。当我升级它正在运行的映像时,任务状态变为running, LB将我定向到该节点,但响应是connection refused,以下是我的dockerfile

FROM openjdk:11
COPY target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"] 

现在我怀疑springboot项目还没有完全启动成功,任务状态变为running。我想知道是否有办法在任务状态变为running之前使Springboot成功启动。

为服务添加健康检查。

这可以在Dockerfile中通过

HEALTHCHECK ["CMD","curl http://localhost:8080"]

或通过堆栈。yml文件。

对于带有healthcheck的服务,直到healthcheck通过后,Docker swarm才认为该服务已启动,然后才将其添加到负载均衡器中。

最新更新