【问题标题】:How to Get All Tags from Docker Hub (Private Repositories) as Shell Script如何从 Docker Hub(私有存储库)获取所有标签作为 Shell 脚本
【发布时间】:2020-07-08 13:02:32
【问题描述】:

当我执行它时,我有一个 shell 脚本,它只显示来自 300 个标签的 docker hub 中的 64 个标签。

这是我通过 curl 在 shell 脚本中执行的以下命令。

IMAGE_TAGS=$(curl -s -H "Authorization: JWT ${HUB_TOKEN} https://hub.docker.com/v2/repositories/$username/issues/tags/?page_size=300" | jq --raw-output '.results[] | .name')

即使在给出 page_size 之后,它也没有显示我的所有标签

注意:- 用于私有存储库的标签

请帮我解决一下

【问题讨论】:

  • 嗨。请阅读How to ask,更具体地说,该段落告诉您不要在图像中包含代码、命令和错误消息。然后请编辑您的问题并解决此问题。这样做会使帖子更难阅读,如果需要会中断复制/粘贴,并对搜索引擎隐藏内容(SO 内部和其他)。谢谢。
  • 请多描述一下并添加相关命令
  • @DupinderSingh 我应该分享你完成的脚本,我已经对上述问题进行了更改
  • @Zeitounator 请看看我的问题所做的更改
  • @Zeitounator 我删除了图片并添加了反引号

标签: docker docker-registry dockerhub


【解决方案1】:

尝试 API 版本 1,它可以帮助我获取所有标签

https://registry.hub.docker.com/v1/repositories/mysql/tags在浏览器中打开,您可以根据需要进行修改

或者看看 Github https://gist.github.com/robv8r/fa66f5e0fdf001f425fe9facf2db6d49 这正是你想要的

更新

将其添加到 shell 脚本文件中

#!/usr/bin/env bash
docker-tags() {
    arr=("$@")

    for item in "${arr[@]}";
    do
        tokenUri="https://auth.docker.io/token"
        data=("service=registry.docker.io" "scope=repository:$item:pull")
        token="$(curl --silent --get --data-urlencode ${data[0]} --data-urlencode ${data[1]} $tokenUri | jq --raw-output '.token')"
        listUri="https://registry-1.docker.io/v2/$item/tags/list"
        authz="Authorization: Bearer $token"
        result="$(curl --silent --get -H "Accept: application/json" -H "Authorization: Bearer $token" $listUri | jq --raw-output '.')"
        echo $result
    done
}

docker-tags "<YOUR_DOCKER_IMAGE_NAME>"

用你的 docker 镜像替换 &lt;YOUR_DOCKER_IMAGE_NAME&gt;

查看此内容以获取更多信息Listing the tags of a Docker image on a Docker hub through the HTTP API

【讨论】:

  • registry.hub.docker.com/v1/repositories/rashidmd/fx-test2/tags 我修改它并在浏览器中打开它询问的用户名和密码,我已经给出但不正确地告诉我,当我添加 v1 代替 v2 时出现错误“解析错误:无效的数字第 1 行第 8 列的文字"
  • 这是您的私有容器注册表吗?
  • 如果您知道凭据,请正确设置 ? 它应该可以工作。因为它适用于公共回购
  • 在输入正确的用户名和密码后,它再次返回用户名和密码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 2016-07-13
  • 2023-03-20
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多