Harbor 搜索镜像及查看 tag

在我们搭建完 Harbor 后: https://www.cnblogs.com/klvchen/p/9482153.html
如果想要通过 API 获取 Harbor 上面的镜像及 tag 可以使用下面整理的脚本:

cat get_images.sh 
#!/bin/bash

USER="admin"
PASS="Harbor12345"
HURL="http://192.168.0.241"

rtoken=$(curl -k -s  -u ${USER}:${PASS} ${HURL}/service/token?account=${USER}\&service=harbor-registry\&scope=registry:catalog:*|grep "token" |awk -F '"' '{print $4}')

#echo $rtoken

rlist=$(curl -k -s -H "authorization: bearer $rtoken " ${HURL}/v2/_catalog|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'|sed 's/"//g')

echo $rlist|sed 's/,/\n/g'

# 解析一下变量:
USER="admin"                 Harbor 的用户名
PASS="Harbor12345"           Harbor 的密码
HURL="http://192.168.0.241"  Harbor 的地址

运行结果:

获取到 images 后,可以进一步查看镜像的 tag:

cat get_tag.sh 
#!/bin/bash

USER="admin"
PASS="Harbor12345"
HURL="http://192.168.0.241"
MTAG=$1

ttoken=$(curl -iksL -X GET -u $USER:$PASS $HURL/service/token?account=${USER}\&service=harbor-registry\&scope=repository:${MTAG}:pull|grep "token" |awk -F '"' '{print $4}')

#echo $ttoken

tlist=$(curl -ksL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $ttoken" ${HURL}/v2/${MTAG}/tags/list|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'|sed 's/"//g')


echo $tlist|sed 's/,/\n/g'

# 解析一下变量:
USER="admin"                 Harbor 的用户名
PASS="Harbor12345"           Harbor 的密码
HURL="http://192.168.0.241"  Harbor 的地址
MTAG=$1                      需传入一个镜像名字,上一脚本输出的结果

运行结果:

脚本还有很多可以完善的地方,这里就不做讨论了~ 该脚本也适用于部署了 https 证书的 Harbor 需要把 HURL 中的变量改成 https 即可。

posted @ 2018-08-22 17:44  klvchen  阅读(4466)  评论(0编辑  收藏  举报