首页 > 其他 > 详细

harbor清理存储

时间:2019-08-05 12:55:50      阅读:116      评论:0      收藏:0      [点我收藏+]

harbor仓库中镜像按tag清理,删除tag后需要清理gc才能释放空间

#!/bin/bash
set -e
HARBOR_URL=127.0.0.1
HARBOR_PASSWD=harbor123
OLD_VERSION_NUM=50

function get_repos_list(){
  repos_list=$(curl -s -k -u admin:${HARBOR_PASSWD} http://${HARBOR_URL}/api/projects?page=1&page_size=50)
  mkdir -p $PWD/reposList
  echo "${repos_list}" | jq .[] | jq -r .project_id > $PWD/reposList/reposList.txt
}
function get_images_list(){
  mkdir -p $PWD/imagesList
  for repo in $(cat $PWD/reposList/reposList.txt);do
    images_list=$(curl -s -k -u admin:${HARBOR_PASSWD} http://${HARBOR_URL}/api/repositories?project_id=${repo})
    echo "${images_list}" | jq .[] | jq -r .name > $PWD/imagesList/${repo}.txt
  done
}
function delete_images(){
  #### get html
  htmlinfo=$(curl -s -k -u admin:${HARBOR_PASSWD} http://${HARBOR_URL}/api/repositories/$1/tags)
  #### images num
  num=$(echo "${htmlinfo}" | jq "length - ${OLD_VERSION_NUM}")
  if [[ "${num}" -le "0" ]]; then
    echo "$1 has no need of cleanup!!!"
    return
  fi
  #### get images_tag
  for index in $(seq 0 ${num}); do
    tag=$(echo "${htmlinfo}" | jq ".[${index}]" | jq -r .name)
    echo "images=$1 ************************** tag= ${tag}"
    curl -s -k -u admin:${HARBOR_PASSWD} -X DELETE http://${HARBOR_URL}/api/repositories/$1/tags/${tag}
  done
}
function clean_registry(){
  image_name=$(docker ps | grep registry | grep photon | awk -F " " {print $2})
  docker run -it --name gc --rm --volumes-from registry ${image_name} garbage-collect  /etc/registry/config.yml
}
function entrance(){
  get_repos_list
  get_images_list
  for repo in $(cat $PWD/reposList/reposList.txt);do
    for images in $(cat $PWD/imagesList/${repo}.txt); do
      delete_images ${images}
    done
  done
  clean_registry
}
entrance

 

- 参考: https://blog.csdn.net/u014305062/article/details/92770753

harbor清理存储

原文:https://www.cnblogs.com/dolphintwo/p/11302212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!