命令行获取docker远程仓库镜像列表
生活随笔
收集整理的這篇文章主要介紹了
命令行获取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=3function Usage(){ cat << HELPUsage: docker-search NAME[:TAG]docker-search list all tags for docker image on a remote registry.Example:docker-search (default nginx)docker-search nginxdocker-search nginx:1.15.8docker search nginx | docker-searchdocker search nginx | docker-search :1.15.8echo nginx | docker-searchecho nginx | docker-search :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使用
# 獲取幫助 $ docker-search --help# 查詢ngnix $ docker-search nginx參考
docker-tags 命令行獲取docker遠程倉庫上指定鏡像的tag列表
轉載于:https://www.cnblogs.com/xcmelody/p/11112205.html
總結
以上是生活随笔為你收集整理的命令行获取docker远程仓库镜像列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sqoop数据迁移工具的使用
- 下一篇: USACO 6.3 章节 你对搜索和剪枝