以编程方式查询 GitLab 容器注册表

问题描述

我可以访问 GitLab Container Registry 并且可以按如下方式推送图像:

docker login --username $my_username -p $my_token $my_server/$my_project
docker tag $my_image:latest $my_server/$my_project/$my_image:latest
docker push $my_server/$my_project/$my_image:latest

我现在也想使用 Container Registry API 并尝试过这个(我想随后列出所有标签):

curl -H "PRIVATE-TOKEN: $my_token" https://$my_server/api/v4/projects/$my_project/registry/repositories

但是,这会导致“找不到 404 页面”。我错过了什么,根据文档,URL 不应该是有效的吗?

解决方法

我现在已经得出结论,最可能的原因是我的访问令牌 $my_token 仅被 GitLab 管理员授予了有限的权限。

这可能包括作用域 read_registry 和 write_registry,但不包括 api。显然,没有 GitLab API 的其余部分,就没有专门涵盖 Container Registry API 的范围。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...