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

运行结果:
1334255-20180822173720216-1532409807.png

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

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

转载于:https://www.cnblogs.com/klvchen/p/9519169.html

GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:2 个月前 )
9e55afbb pull image from registry.goharbor.io instead of dockerhub Update testcase to support Docker Image Can Be Pulled With Credential Change gitlab project name when user changed. Update permissions count and permission count total Change webhook_endpoint_ui Signed-off-by: stonezdj <stone.zhang@broadcom.com> Co-authored-by: Wang Yan <wangyan@vmware.com> 5 天前
3dbfd422 Signed-off-by: wang yan <wangyan@vmware.com> 5 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐