Python操作harbor
时间: 2024-01-20 09:15:37 浏览: 31
你可以使用Python来操作Harbor。下面是一个使用Python脚本来删除Harbor仓库中不再需要的镜像的示例:
```python
import requests
# 设置Harbor的地址和登录信息
harbor_url = 'http://127.0.0.1'
username = 'admin'
password = 'Harbor12345'
# 登录Harbor
session = requests.Session()
login_url = harbor_url + '/login'
session.post(login_url, json={'username': username, 'password': password})
# 获取所有镜像仓库
repositories_url = harbor_url + '/api/v2.0/projects'
response = session.get(repositories_url)
repositories = response.json()
# 遍历每个镜像仓库
for repository in repositories:
repository_name = repository['name']
repository_id = repository['project_id']
# 获取仓库中的所有镜像
images_url = harbor_url + f'/api/v2.0/projects/{repository_id}/repositories'
response = session.get(images_url)
images = response.json()
# 遍历每个镜像
for image in images:
image_name = image['name']
image_id = image['id']
# 判断镜像是否需要删除,这里假设镜像名包含"old"的都需要删除
if 'old' in image_name:
# 删除镜像
delete_url = harbor_url + f'/api/v2.0/projects/{repository_id}/repositories/{image_id}'
session.delete(delete_url)
print(f'Deleted image: {image_name} in repository: {repository_name}')
# 退出登录
logout_url = harbor_url + '/logout'
session.post(logout_url)
```
这个脚本使用了Python的requests库来发送HTTP请求,实现了登录Harbor、获取镜像仓库、获取镜像和删除镜像的功能。你可以根据自己的需求修改判断镜像是否需要删除的逻辑。