备份

方案1:获取所有镜像

使用下面的脚本,获取所有的镜像名称,然后 使用 docker pull 方式备份,harbor版本是1.7之后

import  requests
import json

url="https://10.10.10.51"
image_url="10.10.10.5"
login_url="/c/login"
project_url="/api/projects?page=1&page_size=3000"
repo_url="/api/repositories?page=1&page_size={size}&project_id={id}"
image_url="/api/repositories/{image}/tags?detail=1"
tag_url="/api/repositories/admin001/test123/tags?detail=1"
login_arg={"principal":"admin","password":"Harbor12345"}

r=requests.post(url+login_url,data=login_arg,verify=False)
cookies=r.cookies
a=requests.get(url+project_url,cookies=cookies,verify=False)
for i in json.loads(a.text):
    if int(i['repo_count']) > 0:
        b=requests.get(url+repo_url.format(size=i['repo_count']+1,id=i['project_id']),cookies=cookies,verify=False)
        for repo in json.loads(b.text):
            c=requests.get(url+image_url.format(image=repo['name']),cookies=cookies,verify=False)
            for tag in json.loads(c.text):
                print(image_url+repo['name']+":"+tag['name'])

方案2: 搭建双主的harbor仓库

Copyright © hankbook.cn 2020 all right reserved,powered by Gitbook该文件修订时间: 2022-08-08 09:48:49

results matching ""

    No results matching ""