码头工人注册表通知多次推送



我正在使用自己的私有Docker注册表,我想在推送新映像时发送Slack通知。

我使用 Huginn 来捕获注册表 webhook 通知并发送到 Slack。我的问题是,当推送具有相同信息的映像时,Docker 注册表会发送多个通知:

"action": "push"

如何仅从 docker 注册表发送一个通知?还是与最后的通知不同?

我找到了解决方案!

我只检查操作 == 推送和媒体类型 == application/vnd.docker.distribution.manifest.v2+json

同样的问题,但我修复了:

timeoutbackoff默认值nsms

使用我的配置:

notifications: endpoints: - name: webhook disabled: false url: http://example.com timeout: 3000ms threshold: 5 backoff: 1S

由于多种原因,Docker 注册表发送多个请求。

  1. 对于某些操作,同时发出多个请求,但使用不同的请求方法,例如 HEAD 然后 GET 表示操作pull,因此您应该始终指定 metod(例如 POST 表示push(;

  2. 使用两种媒体类型:较新的application/vnd.docker.distribution.manifest.v2+json和旧application/octet-stream。您可以忽略最新的。

最新更新