docker-tags 命令行获取docker远程仓库上指定镜像的tag列表

说明

用于命令行获取docker远程仓库上指定镜像的所有tag列表,支持版本号模糊搜索,可与docker search配合搜索。

1.脚本

#!/bin/bashAPI="https://registry.hub.docker.com/v1/repositories"
DEFAULT_NAME="nginx"
DEFAULT_TIMEOUT=3function Usage(){cat << HELPUsage: docker-tags NAME[:TAG]docker-tags list all tags for docker image on a remote registry.Example:docker-tags (default nginx)docker-tags nginxdocker-tags nginx:1.15.8docker search nginx | docker-tagsdocker search nginx | docker-tags :1.15.8echo nginx | docker-tagsecho nginx | docker-tags :1.15.8
HELP
}ARG=$1
if [[ "$ARG" =~ "-h" ]];thenUsageexit 0
fifunction ParseJson(){tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image=$1 '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
}function GetTags(){image=$1tag=$2ret=`curl -s ${API}/${image}/tags`tag_list=`echo $ret | ParseJson ${image}`if [ -z "$tag" ];thenecho -e "$tag_list"elseecho -e "$tag_list" | grep -w "$tag"fi
}if [ -z $ARG ] || [[ ${ARG:0:1} == ":" ]];thenif [ -x /usr/bin/timeout ];thenimages=`timeout $DEFAULT_TIMEOUT` awk '{print $1}' | grep -v "NAME" || echo $DEFAULT_NAMEelseimages=`awk '{print $1}' | grep -v "NAME"`fi
elseimages=`echo $ARG | awk -F: '{print $1}'`
fi
tag=`echo $ARG | awk -F: '{print $2}'`for i in ${images}
dotags=`GetTags $i $tag`count=`echo $tags | wc -w`if [[ $count -gt 0 ]];thenecho -e "IMAGE [$i:$tag]:"echo -e "$tags"echofi
done

2. 帮助

$ docker-tags -help                                                                             [0]Usage: docker-tags NAME[:TAG]docker-tags list all tags for docker image on a remote registry.Example:docker-tags (default nginx)docker-tags nginxdocker-tags nginx:1.15.8docker search nginx | docker-tagsdocker search nginx | docker-tags :1.15.8echo nginx | docker-tagsecho nginx | docker-tags :1.15.8

3.使用

$ docker-tags nginx                                                                             [0]
IMAGE [nginx:]:
nginx:latest
nginx:1
nginx:1-alpine-perl
nginx:1-perl
nginx:1.10
nginx:1.10-alpine
......$ docker-tags nginx:1.15.8                                                                      [1]
IMAGE [nginx:1.15.8]:
nginx:1.15.8
nginx:1.15.8-alpine
nginx:1.15.8-alpine-perl
nginx:1.15.8-perl$ docker search nginx | docker-tags                                                             [0]
IMAGE [nginx:]:
nginx:latest
nginx:1
nginx:1-alpine-perl
nginx:1-perl
nginx:1.10
nginx:1.10-alpine
......
IMAGE [jwilder/nginx-proxy:]:
jwilder/nginx-proxy:latest
jwilder/nginx-proxy:0.1.0
jwilder/nginx-proxy:0.3.0
jwilder/nginx-proxy:0.4.0
jwilder/nginx-proxy:0.5.0
jwilder/nginx-proxy:0.6.0
jwilder/nginx-proxy:0.7.0
jwilder/nginx-proxy:alpine
jwilder/nginx-proxy:alpine-0.6.0
jwilder/nginx-proxy:alpine-0.7.0IMAGE [richarvey/nginx-php-fpm:]:
richarvey/nginx-php-fpm:latest
richarvey/nginx-php-fpm:1.1.1
richarvey/nginx-php-fpm:1.1.3
richarvey/nginx-php-fpm:1.1.4
richarvey/nginx-php-fpm:1.1.5
richarvey/nginx-php-fpm:1.1.6
richarvey/nginx-php-fpm:1.2.0
richarvey/nginx-php-fpm:1.2.1
......$ docker search nginx | docker-tags :1.15.8                                                   [130]
IMAGE [nginx:1.15.8]:
nginx:1.15.8
nginx:1.15.8-alpine
nginx:1.15.8-alpine-perl
nginx:1.15.8-perl$ echo nginx | docker-tags                                                                      [0]
IMAGE [nginx:]:
nginx:latest
nginx:1
nginx:1-alpine-perl
nginx:1-perl
nginx:1.10
nginx:1.10-alpine$ echo nginx | docker-tags :1.15.8                                                            [130]
IMAGE [nginx:1.15.8]:
nginx:1.15.8
nginx:1.15.8-alpine
nginx:1.15.8-alpine-perl
nginx:1.15.8-perl

docker-tags 命令行获取docker远程仓库上指定镜像的tag列表相关推荐

  1. 命令行获取docker远程仓库镜像列表

    命令行获取docker远程仓库镜像列表 获取思路 通过curl获取镜像tag的json串,解析后得到${image}:${tag}的格式 curl获取示例 # curl [:-s] ${API}/${ ...

  2. linux查看docker是否启动命令行,如何通过命令行查看docker服务是否已启动

    通过命令行查看docker服务是否已启动的方法如下: 查看docker的运行状态systemctl status docker 输出如下:[root@izr86o15kikb3az /]# syste ...

  3. docker login 命令行登录失败,页面登录成功

    docker login 命令行登录失败 Error response from daemon: Get "https://registry-1.docker.io/v2/": u ...

  4. mac 钥匙串密码_从命令行获取钥匙串密码

    mac 钥匙串密码 One of my favorite command line utilities is Guillermo Rauch's wifi-password, a utility th ...

  5. 如何用cmd看计算机硬件配置,如何通过命令行获取计算机硬件详细信息

    你可能会有很多的原因需要查清计算机硬件的详细信息.例如,你需要修复某些问题并在论坛上发出请求,人们可能会立即询问你的计算机具体的信息.或者当你想要升级计算机配置时,你需要知道现有的硬件型号和能够升级的 ...

  6. python从命令行获取参数_python从命令行获取参数操作

    python从命令行获取参数 一: 简单用法 从命令行获取参数两种方式: 1.通过sys.argv参数获取:代码如下: # -*- coding: utf-8 -*- import sys #获取输入 ...

  7. 在命令行中打开远程端的图形应用程序

    X server是Linux系统里面图形接口服务器的简称.比较常见的Linux界面操作环境有KDE和GNOME,为它们提供系统支持的就是X server,而并非Linux核心. 介绍两种方法在命令行中 ...

  8. 从命令行获取两个路径名称并找出文件一样内容一样的两个文件

    import os import sys import subprocess import hashlibdir1 = sys.argv[1] dir2 = sys.argv[2]class File ...

  9. Shell 命令行获取本机IP,grep的练习

    Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...

最新文章

  1. Beta版冲刺Day1
  2. Spring的事务管理1
  3. java transient 和Volatile关键字
  4. linux操作常用命令
  5. 手动实现bind函数(附MDN提供的Polyfill方案解析)
  6. 弗拉门戈-吉普赛婚礼-保利剧院
  7. 希尔排序java代码_希尔排序及希尔排序java代码
  8. 【综述】跨语言自然语言处理笔记
  9. 《监控》其实是讲一个年轻人彻底社会化的过程
  10. 【Knowledge Fragment】
  11. 机器学习- 吴恩达Andrew Ng - week3-3 Multiclass Classification
  12. 用计算机在作文格中打单字字,二年级信息技术第3—12课教案
  13. 渗透tools之Lizard
  14. STM32CubeMX全部版本下载地址
  15. 简述PCM 30/32帧结构图
  16. 跟着瑜伽老师一节课程序员锻炼身体
  17. 神经网络原理与实例精解,神经网络计算机的组成
  18. 测试人眼中的车联网(比亚迪云服务-3.2.1)——车辆定位、寻车
  19. C#语言入门详解13-19
  20. 昂达v80p 刷linux,打破低价平板套路 昂达V80曝光再造新神器!

热门文章

  1. 史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
  2. PPT插件(islide)
  3. 第二集 第一魂环 第九章
  4. “凡事预则立,不预则废”?
  5. 目标定位算法(三)之基于角度的定位算法
  6. 网关系统就该这么设计,万能通用,稳的一批!
  7. android studio文件名颜色分别表示含义
  8. 巧用千寻位置GNSS软件|CAD功能全解析
  9. 液压传动基础知识(一)
  10. java从入门到出轨