我将Docker镜像存储在我的私有Google容器注册表中,我希望通过注册表V2 API与图像进行交互,例如获取图像的标记(/v2/:imageName/tags/list
)。我相信它得到了支持,根据这个link但是我找不到相关的文档。任何人都可以帮助我吗?
答案 0 :(得分:3)
刚从谷歌支持得到答案,希望这有助于其他人:
$ export NAME=project-id/image
$ export BEARER=$(curl -u _token:$(gcloud auth print-access-token) https://gcr.io/v2/token?scope=repository:$NAME:pull | cut -d'"' -f 10)
$ curl -H "Authorization: Bearer $BEARER" https://gcr.io/v2/$NAME/tags/list
答案 1 :(得分:1)
确实是(包括那个终点)。在以here概述的标准方式进行身份验证后,您应该能够与之进行交互。
如果您遇到任何问题,请随时与gcr-contact@google.com联系。
答案 2 :(得分:0)
要添加到Quyen Nguyen Tuan的答案中,如果您根本不想使用gcloud
,请创建一个服务帐户,传递用户名_json_key
并使用该服务帐户的json密钥代替密码:
$ export NAME=project-id/image
$ export BEARER=$(curl -u "_json_key:$(cat path/to/json/key.json)" "https://gcr.io/v2/token?scope=repository:$NAME:pull" | cut -d'"' -f 10)
$ curl -H "Authorization: Bearer $BEARER" https://gcr.io/v2/$NAME/tags/list
,如果您的仓库位于此处,请记住适当地加上前缀(例如eu.gcr.io
)。