命令行获取docker远程仓库镜像列表
命令行获取docker远程仓库镜像列表
获取思路
通过curl获取镜像tag的json串,解析后得到${image}:${tag}的格式
curl获取示例
# curl [:-s] ${API}/${image}/tags
curl https://registry.hub.docker.com/v1/repositories/nginx/tags
获取脚本docker-search
docker-search.sh
#!/bin/bash
API="https://registry.hub.docker.com/v1/repositories"
DEFAULT_NAME="nginx"
DEFAULT_TIMEOUT=3
function Usage(){
cat << HELP
Usage: docker-search NAME[:TAG]
docker-search list all tags for docker image on a remote registry.
Example:
docker-search (default nginx)
docker-search nginx
docker-search nginx:1.15.8
docker search nginx | docker-search
docker search nginx | docker-search :1.15.8
echo nginx | docker-search
echo nginx | docker-search :1.15.8
HELP
}
ARG=$1
if [[ "$ARG" =~ "-h" ]];then
Usage
exit 0
fi
function ParseJson(){
tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image=$1 '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
}
function GetTags(){
image=$1
tag=$2
ret=`curl -s ${API}/${image}/tags`
tag_list=`echo $ret | ParseJson ${image}`
if [ -z "$tag" ];then
echo -e "$tag_list"
else
echo -e "$tag_list" | grep -w "$tag"
fi
}
if [ -z $ARG ] || [[ ${ARG:0:1} == ":" ]];then
if [ -x /usr/bin/timeout ];then
images=`timeout $DEFAULT_TIMEOUT` awk '{print $1}' | grep -v "NAME" || echo $DEFAULT_NAME
else
images=`awk '{print $1}' | grep -v "NAME"`
fi
else
images=`echo $ARG | awk -F: '{print $1}'`
fi
tag=`echo $ARG | awk -F: '{print $2}'`
for i in ${images}
do
tags=`GetTags $i $tag`
count=`echo $tags | wc -w`
if [[ $count -gt 0 ]];then
echo -e "IMAGE [$i:$tag]:"
echo -e "$tags"
echo
fi
done
使用
# 获取帮助
$ docker-search --help
# 查询ngnix
$ docker-search nginx
参考
docker-tags 命令行获取docker远程仓库上指定镜像的tag列表
命令行获取docker远程仓库镜像列表的更多相关文章
- docker远程仓库镜像推送到本地仓库
#!/bin/bashimageid=(`docker images |grep -v REPOSITORY|awk '{print $3}'`)image=(`docker images |grep ...
- Shell 命令行获取本机IP,grep的练习
Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...
- python命令行获取参数
python命令行获取参数 import sys # python获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input ...
- 在本地用命令行创建一个git仓库,并推送到远程
首先,进入的gitStore目录下(没有的话自己创建一个) 1.git init 在gitStore目录下 初始化一个git仓库 2.git add 复制一个文件到gitStore目录下,然后执行gi ...
- 命令行工具tabby--gi t仓库Token的使用
命令行工具tabby--git仓库Token的使用 欢迎关注H寻梦人公众号 前言 再见 Xshell !这款开源的终端工具逼格更高! 终端神器--Tabby Terminal electerm is ...
- docker 私有仓库镜像的存储位置
docker 私有仓库的镜像 是存储在5739360d1030 registry "docker-registry" 3 days ago Up 28 hours 0.0.0.0: ...
- 在命令行获取标准输入序列的反互序列,pep序列和长度信息
近期对序列文件处理的比較多,时常要看一些核酸序列的反向互补序列,长度.可能的翻译序列. 曾经我常用seqBuider 来查看.假设能在命令行直接查看.想必是极好的. 这是一个perl脚本.只是我把它的 ...
- Windows Git Bash命令行下创建git仓库并更新到github
大二的时候就听过老师说有一个叫git的版本管理工具,当时只是听老师说说而已,也没有去使用它,因为当时用过svn,就感觉自己没多少东西需要git管理. 最近几天,我经常在开源中国看别人的帖子,看到别人对 ...
- MySQL数据库(9)----从命令行获取元数据
1. mysqlshow 命令提供的信息与某些 SHOW 语句很相似,因此可以从命令行提示符获取数据库和表的信息. (i)列出服务器所管理的数据库: root@javis:~$ mysqlshow - ...
随机推荐
- NIO Channel Scatter/Gather 管道Pipe类
通道提供了一种被称为Scatter/Gather的重要新功能(有时也被称为矢量I/O).Scatter/Gather是一个简单却强大的概念,它是指在多个缓冲区上实现一个简单的I/O操作.对于一个wri ...
- 第06组 Beta冲刺(2/4)
队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11990570.html 作业博客 : https://edu.cnblogs.com/campus/ ...
- uniapp - 阿里图库字体图标使用
[iconfont下载] https://www.iconfont.cn/search/index?searchType=icon&q=%E4%B8%8A%E4%BC%A0 可能报错,找不到线 ...
- ubuntu16.04安装wkhtmltopdf参考
wkhtmltopdf是一款Html转pdf的工具, 下载地址:https://wkhtmltopdf.org/downloads.html 安装步骤: ----下载ubuntu下的wkhtmltop ...
- 在Linux下运行引入了外部jar包的java程序
如图:H.java里引入了commons-io-2.2.jar 代码如下: import org.apache.commons.io.IOUtils; public class H{ public s ...
- Robot Framwork关键字驱动+RedwoodHQ安装
一.Robot Framwork介绍 Robot Framwork是一款python编写的功能框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. ...
- 最稳定万能vip视频解析接口 支持HTTPS
最稳定万能vip视频解析接口 支持HTTPS https://cdn.yangju.vip/k/?url=后面加上播放的地址即可 https://cdn.yangju.vip/k/?url= http ...
- python web开发——django学习(二)第一个django网站运行成功
1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Mudos扩展efunc,packages方式
Mudos扩展efunc,packages方式 首先packages目录建好C文件 我们这里测试了一个mongodb的 mongodb_spec.c mongodb.h mongodb.c 这里具体的 ...
- 非LODOP的打印其他问题-简短问答
该文是一些应用软件,或打印机,即使不使用lodop,也可能会常见的问题.一般和操作系统,电脑硬件打印机硬件等有关. 1.错误-正在打印 怎么解决这个是打印机队列的状态,排查下电脑和打印机的连线是否正常 ...