在我们搭建完 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 的地址

运行结果:
Harbor 搜索镜像及查看 tag

获取到 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                      需传入一个镜像名字,上一脚本输出的结果

运行结果:
Harbor 搜索镜像及查看 tag
脚本还有很多可以完善的地方,这里就不做讨论了~ 该脚本也适用于部署了 https 证书的 Harbor 需要把 HURL 中的变量改成 https 即可。

相关文章:

  • 2021-12-08
  • 2022-12-23
  • 2021-12-24
  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-03
  • 2022-02-05
  • 2021-10-27
  • 2021-11-30
  • 2022-01-16
  • 2021-08-29
相关资源
相似解决方案