docker 获取镜像源中指定镜像的所有 tag

该脚本用于查询Docker镜像的标签,通过设置不同的repo_url可以切换查询源。默认使用Dockerhub的V2API,输入镜像名称后,脚本会输出该镜像的所有可用标签。V1API已被弃用。依赖包括curl和jq。用户需提供镜像的全称,如portainer/portainer-ce。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考网址: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

使用方法:

  1. 安装docker
  2. 安装脚本必要的依赖jq
  3. 在脚本中配置要使用的软件源(注释/取消注释repo_url,只能从一个软件源查询)
  4. 运行脚本,脚本后加上镜像的全称
    # 这里将脚本保存为 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/
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值