docker-tags 命令行获取docker远程仓库上指定镜像的tag列表
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列表相关推荐
- 命令行获取docker远程仓库镜像列表
命令行获取docker远程仓库镜像列表 获取思路 通过curl获取镜像tag的json串,解析后得到${image}:${tag}的格式 curl获取示例 # curl [:-s] ${API}/${ ...
- linux查看docker是否启动命令行,如何通过命令行查看docker服务是否已启动
通过命令行查看docker服务是否已启动的方法如下: 查看docker的运行状态systemctl status docker 输出如下:[root@izr86o15kikb3az /]# syste ...
- docker login 命令行登录失败,页面登录成功
docker login 命令行登录失败 Error response from daemon: Get "https://registry-1.docker.io/v2/": u ...
- mac 钥匙串密码_从命令行获取钥匙串密码
mac 钥匙串密码 One of my favorite command line utilities is Guillermo Rauch's wifi-password, a utility th ...
- 如何用cmd看计算机硬件配置,如何通过命令行获取计算机硬件详细信息
你可能会有很多的原因需要查清计算机硬件的详细信息.例如,你需要修复某些问题并在论坛上发出请求,人们可能会立即询问你的计算机具体的信息.或者当你想要升级计算机配置时,你需要知道现有的硬件型号和能够升级的 ...
- python从命令行获取参数_python从命令行获取参数操作
python从命令行获取参数 一: 简单用法 从命令行获取参数两种方式: 1.通过sys.argv参数获取:代码如下: # -*- coding: utf-8 -*- import sys #获取输入 ...
- 在命令行中打开远程端的图形应用程序
X server是Linux系统里面图形接口服务器的简称.比较常见的Linux界面操作环境有KDE和GNOME,为它们提供系统支持的就是X server,而并非Linux核心. 介绍两种方法在命令行中 ...
- 从命令行获取两个路径名称并找出文件一样内容一样的两个文件
import os import sys import subprocess import hashlibdir1 = sys.argv[1] dir2 = sys.argv[2]class File ...
- Shell 命令行获取本机IP,grep的练习
Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...
最新文章
- Beta版冲刺Day1
- Spring的事务管理1
- java transient 和Volatile关键字
- linux操作常用命令
- 手动实现bind函数(附MDN提供的Polyfill方案解析)
- 弗拉门戈-吉普赛婚礼-保利剧院
- 希尔排序java代码_希尔排序及希尔排序java代码
- 【综述】跨语言自然语言处理笔记
- 《监控》其实是讲一个年轻人彻底社会化的过程
- 【Knowledge Fragment】
- 机器学习- 吴恩达Andrew Ng - week3-3 Multiclass Classification
- 用计算机在作文格中打单字字,二年级信息技术第3—12课教案
- 渗透tools之Lizard
- STM32CubeMX全部版本下载地址
- 简述PCM 30/32帧结构图
- 跟着瑜伽老师一节课程序员锻炼身体
- 神经网络原理与实例精解,神经网络计算机的组成
- 测试人眼中的车联网(比亚迪云服务-3.2.1)——车辆定位、寻车
- C#语言入门详解13-19
- 昂达v80p 刷linux,打破低价平板套路 昂达V80曝光再造新神器!