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
  • 相关阅读:
    C/C++各种类型int、long、double、char表示范围(最大和最小)
    XSS学习笔记(五)-XSS防御
    组态Log4j(非常具体的)
    C#抽象类其中创建一个静态方法
    DirectSound应用
    谈论Hibernate级联删除——JPA根据Hibernate实现许多级联删除CascadeType.DELETE_ORPHAN
    failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
    英语语法总结---一、英语中定语放在哪
    windows常用命令有哪些(整理)
    css如何实现垂直居中(5种方法)
  • 原文地址:https://www.cnblogs.com/HYanqing/p/12420355.html
Copyright © 2011-2022 走看看