无法从Docker Registry远程API获取有效的响应

我正在使用Nodejs和请求来形成我的API调用,我可以直接与API调用一个UnixSocket,但它每次尝试从Dockerregistry容器请求时,我已经运行,所以我相信这是我的registryconfiguration的错误。

我已经像下面的文档步骤一样将其设置为开箱即用 。

docker run -d -p 5000:5000 --restart=always --name registry registry:2 docker pull alpine docker tag alpine localhost:5000/alpine docker push localhost:5000/alpine 

我用来请求的代码如下,它收到404 not found

  const request = require('request') request({ method: 'GET', uri: 'http://localhost:5000/images/json', // status 404 // uri: 'http://unix:/var/run/docker.sock:/images/json', // this works headers: { host : 'localhost' } }, (e, res, body) => { if(e) return console.error(e) console.log(res.statusCode == 200 ? JSON.parse(body) : res.statusCode) }) 

要清楚的是,这段代码只是为了certificate我正在做一个格式良好的GET请求。

必须做些什么来允许正在运行的registry容器响应远程API?

Docker Registry没有/images/json API,而Docker Registry的API与docker engine API不兼容。

要获得Docker Registry的映像列表,请尝试GET /v2/_catalog 。 完整的文件可以在这里find。