查找 docker 镜像的所有 tag

2021-01-13  本文已影响0人  南国的小狼

建议阅读方式

可前往语雀阅读,体验更好:查找 docker 镜像的所有 tag

环境说明

centos7 阿里云主机一台:

docker 相关信息如下:

测试镜像 hello-world 的 tags 情况见官网:docker-hub#hello-world#tags

curl 安装相关信息:

查看方式

方法一:利用 v1 版 api

命令如下,其中 hello-world 为镜像名字:

curl -L -s https://registry.hub.docker.com/v1/repositories/hello-world/tags | json_reformat | grep -i name | awk '{print $2}' | sed 's/\"//g' | sort -u

封装成 list_image_tags_v1.sh

#!/bin/bash

repo_url=https://registry.hub.docker.com/v1/repositories
image_name=$1

curl -L -s ${repo_url}/${image_name}/tags | json_reformat | grep -i name | awk '{print $2}' | sed 's/\"//g' | sort -u

注意:用到了 json_reformt 命令,系统中必须安装 yajl rpm 包

方法二:利用 v2 版 api

命令如下,其中 hello-world 为镜像名字:

curl -L -s 'https://registry.hub.docker.com/v2/repositories/library/hello-world/tags?page_size=1024' | jq '.results[]["name"]' | sed 's/\"//g' | sort -u

封装成 list_image_tags_v2.sh

#!/bin/bash

repo_url=https://registry.hub.docker.com/v2/repositories/library
image_name=$1

curl -L -s ${repo_url}/${image_name}/tags?page_size=1024 | jq '.results[]["name"]' | sed 's/\"//g' | sort -u

注意:用到了 jq 命令,系统中必须安装 jq rpm 包

对比两种方法得到的结果

其他方法合集

测试镜像: hello-world

参考资料

上一篇下一篇

猜你喜欢

热点阅读