当先锋百科网

首页 1 2 3 4 5 6 7

参考网址: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/
在这里插入图片描述