本地 docker 注册表的通知端点错误

Errors with notification endpoint for local docker registry

我已经成功部署了一个本地 docker 注册表并实现了一个侦听器端点以按照文档 for configuration using a sample insecure configuration file 接收事件通知。推送、拉取和列出图像效果很好。但是,我仍然没有收到任何事件通知。注册表日志抛出了一些我不太明白的错误:

level=error msg="retryingsink: error writing events: httpSink{http://localhost:5050/event}: error posting: Post http://localhost:5050/event: dial tcp 127.0.0.1:5050: getsockopt: connection refused, retrying"

如有任何信息,我将不胜感激。

端点侦听器在 java

中实现
@RequestMapping(value="/event",method = RequestMethod.POST,consumes = "application/json")
public void listener(@RequestBody Events event) {

Event[] e = event.getEvents();
Event ee = new Event();

for (int i = 0; i < e.length; i++) {
    System.out.println(e.length);
    System.out.println(e[i].toString());

}

所以经过几个小时的研究,即检查私有注册表日志,我意识到注册表侦听器发布到通知端点的消息的媒体类型是 application/octet streamapplication/vnd.docker.distribution.manifest.v2+json。因此,我的解决方案是允许所有媒体类型使用此 Spring documentation 中指定的注释 consumes = "*/*",即

 @RequestMapping(value="/event",method = RequestMethod.POST,consumes =  "*/*")