本地 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 stream
或 application/vnd.docker.distribution.manifest.v2+json
。因此,我的解决方案是允许所有媒体类型使用此 Spring documentation 中指定的注释 consumes = "*/*"
,即
@RequestMapping(value="/event",method = RequestMethod.POST,consumes = "*/*")
我已经成功部署了一个本地 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 stream
或 application/vnd.docker.distribution.manifest.v2+json
。因此,我的解决方案是允许所有媒体类型使用此 Spring documentation 中指定的注释 consumes = "*/*"
,即
@RequestMapping(value="/event",method = RequestMethod.POST,consumes = "*/*")