参考网址:https://www.yuque.com/jiangshuangjun-upt1l/xve9g7/bn13gw
稍加改进的脚本:(软件源在代码中设置,镜像名是脚本后跟的参数)
#!/bin/sh
# 1. 配置查询源
# docker hub 官方源,V1 版 api (已弃用)
# repo_url=https://registry.hub.docker.com/v1/repositories
# docker hub 官方源,V2 版 api
repo_url=https://registry.hub.docker.com/v2/repositories
# 查看当前系统使用的镜像源:/etc/docker/daemon.json 文件中的 registry-mirrors
# --------------------- 以下是程序部分 -------------------------
# 输入为空则报错
image_name=$1
if [[ -n "${image_name}" ]]; then
echo "Search image ${image_name} on ${repo_url}"
else
echo "Error! You should input the name of image!"
exit 1
fi
# V1 版 api(已弃用)
# curl -s ${repo_url}/${image_name}/tags | json_reformat | grep name | awk '{print $2}' | sed -e 's/"//g'
# V2 版 api
curl -L -s "${repo_url}/${image_name}/tags?page_size=1024" | jq '.results[]["name"]' | sed 's/\"//g' | sort -u
使用方法:
- 安装
docker
- 安装脚本必要的依赖
jq
- 在脚本中配置要使用的软件源(注释/取消注释
repo_url
,只能从一个软件源查询) - 运行脚本,脚本后加上镜像的全称
# 这里将脚本保存为 list_docker_img_tags.sh # 要查询的镜像全称 portainer/portainer-ce ./list_docker_img_tags.sh portainer/portainer-ce
注意:V1 版本 api 官方已弃用,需使用 V2 版本 api
官方相关介绍:https://docs.docker.com/docker-hub/api/deprecated/