小编典典

是否有用于管理Docker私有注册表的API或Web UI项目?

docker

我找不到如何在专用注册表中管理图像。我可以推或拉图像,因为我知道ID,但是如何获取推入图像的列表?

例如,某人想要在其组织的私人注册表下查看可用图像。她该怎么办?

除非我没有记错,否则我找不到API或Web UI来发现注册表内容,例如index.docker.io就是使用公共注册表。

是否有任何开源项目来管理此项目?

谢谢。


阅读 276

收藏
2020-06-17

共1个答案

小编典典

谢谢托马斯!

要允许使用搜索API,您必须通过指定环境变量SEARCH_BACKEND的值来启动容器,如下所示:

docker run -d -e SEARCH_BACKEND=sqlalchemy -p 5000:5000 --name registry samalba/docker-registry

然后我有此查询的结果:

GET http://registry_host:5000/v1/search?q=base

Result :
{ 
   "num_results": 1, 
   "query": "base", 
   "results": [{"description": "", "name": "test/base-img"}]
}

要列出所有图像,您可以执行以下操作:

GET http://registry_host:5000/v1/search

Result :
{ 
   "num_results": 2, 
   "query": "", 
   "results": [
       {"description": "", "name": "test/base-img"},
       {"description": "", "name": "test/base-test"}]
}

并了解图像的可用版本:

GET http://localhost:5000/v1/repositories/**test/base-img**/tags

Result :
{
  "0.1": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",
  "0.2": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",
  "0.3": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13"
}
2020-06-17