如何列出GCP Artifact Registry中全部Docker镜像标签(超100个)
由于Artifact Registry UI最多仅显示100个镜像标签,要获取全部标签可通过以下两种方法:
使用gcloud CLI(推荐)
确保已安装并配置好gcloud CLI,且切换到目标GCP项目:
gcloud config set project YOUR_PROJECT_ID先列出目标仓库中的所有镜像包(对应镜像名称):
gcloud artifacts docker images list LOCATION/REPOSITORY
替换LOCATION为仓库所在区域(如us-central1),REPOSITORY为你的仓库名称。针对指定镜像,列出所有标签:
gcloud artifacts docker tags list LOCATION/REPOSITORY/IMAGE_NAME --format="value(name)"
替换IMAGE_NAME为目标镜像的名称,--format参数会让输出仅保留标签名,更易查看。该命令会自动处理分页,返回所有标签,不受100个的限制。若需保存结果到文件,可重定向输出:
gcloud artifacts docker tags list LOCATION/REPOSITORY/IMAGE_NAME --format="value(name)" > tags.txt
使用Artifact Registry API
如果需要通过代码或脚本获取,可调用官方API:
获取访问令牌:
gcloud auth print-access-token调用API获取标签(设置足够大的
page_size来覆盖所有标签数量):curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://artifactregistry.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/LOCATION/repositories/REPOSITORY/packages/IMAGE_NAME/tags?page_size=1000"
替换YOUR_PROJECT_ID、LOCATION、REPOSITORY、IMAGE_NAME为对应值。若标签数量超过1000,需解析返回结果中的nextPageToken并循环请求直到获取全部标签。
内容的提问来源于stack exchange,提问作者Sander van den Oord

