(我正在使用 docker swarm)我有一个 docker 容器,运行一个 kafka 实例,并进行健康检查,检查是否已创建名为
hc
的主题。
因此,docker node ps
命令将容器的CURRENT STATE
显示为STARTING
。
我有另一个 docker 容器,其唯一目的是初始化所有需要的主题,包括 hc
主题。然而,在对 kafka 容器进行健康检查后,初始化容器甚至无法 ping kafka 容器。然而,当我将 kafka helthcheck 更改为立即返回健康状态时,init 容器在固定和初始化时没有任何问题。
这是预期的行为吗,因为处于
STARTING
状态的服务在网络上不可用或其他什么原因?
我无法找到任何相关文档,因此如果您碰巧找到一些文档,请给我链接一些。
docker swarm 服务负载均衡器不会将流量路由到尚未通过健康检查的容器。
这意味着您的运行状况检查必须引用本地主机,而不是“Kafka”,因为基于“kafka”的连接字符串在运行状况检查第一次通过之前根本无法解析。