Docker 事件 - 群节点更新事件何时发出?

Docker events - when will the swarm node update event be emitted?

我正在尝试检测群内服务的变化:我在管理器节点上使用 docker events 监听通知,然后我将停止一些 运行 容器一个工作节点。

有时我会收到节点更新事件,有时不会。我认为这可能与在另一个节点上移动和重新启动容器有关,但这并不总是触发事件。

我找不到有效的规则。所以我想知道什么时候会发出这样的事件?或者为什么不能?

编辑:此外,当一个新容器启动时,不应该也有一个“服务更新”事件吗?应该发生哪些群体事件?

AFAICT 经过进一步调查,“节点更新”事件在创建给定堆栈的 第一个 容器时到达 and/or 启动,或者如果 最后一个某栈的容器是stopped/killed.

这有点“神秘”,因为有时有效(事件发生),有时无效。不幸的是,这并不能帮助我触发群管理器上的枚举,所以我需要在每个节点上实现一个“代理”。

“服务更新”事件似乎只在服务更改(设置标签或属性)时发生。