zoukankan      html  css  js  c++  java
  • 【转】harbor删除无用镜像

    1、Harbor 搜索镜像及查看 tag

    1、如果想要通过 API 获取 Harbor 上面的镜像及 tag 可以使用下面整理的脚本:

    cacat 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/,/
    /g'
     
    # 解析一下变量:
    USER="admin"                 Harbor 的用户名
    PASS="Harbor12345"           Harbor 的密码
    HURL="http://192.168.0.241" Harbor 的地址

    运行结果为:

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

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

    运行结果为:

    2、harbor上删除镜像不释放空间问题

    在HarborUI界面删除镜像,但磁盘空间并未释放,只是镜像文件的映射关系,还需要通过GC来删除:

    2.1 停止harbor:

    docker-compose stop  

    2.2 带有–dry-run选项,打印即将被除的镜像文件,但不删除

    vmware/registry:2.6.2-photon为在harbor上可以pull下来的镜像
    docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml
    

    2.3 不带–dry-run选项,直接执行删除:

    docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml
    

    2.4 启动Harbor:

    docker-compose start
  • 相关阅读:
    购物菜单
    增删改查
    第七次Android
    第七次作业
    第四次作业
    第二次作业
    第七次
    第二次作业
    第三次作业
    第六周安卓作业
  • 原文地址:https://www.cnblogs.com/HYanqing/p/12420355.html
Copyright © 2011-2022 走看看