# Docker使用Harbor的API



**注： Harbor镜像仓库地址：192.168.1.136**

**获取项目信息**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/projects/2"
```

**获取所有项目信息**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/projects?"
```

**搜索镜像**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/search?q=asset"
```

**删除项目**

```bash
curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "http://192.168.1.136/api/projects/3"
```

**创建项目**

```bash
curl -u "admin:Harbor12345" -X POST -H "Content-Type: application/json" "http://192.168.1.136/api/projects" -d @createproject.json

createproject.json为文件名,文件内容参考createproject.json

#### 0为私有

{

    "project_name": "项目名",

    "public": 0

}
```

**创建用户**

```bash
curl -u "admin:Harbor12345" -X POST -H "Content-Type: application/json" "http://192.168.1.136/api/users" -d @user.json

文件内容参考user.json

{

    "user_id": 5,

    "username": "test",

    "email": "test@qq.com",

    "password": "Harbor12345",

    "realname": "test",

    "role_id": 0

}
```

**获取用户信息**

> 除admin外

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/users"
```

**查看当前用户信息**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/users/current"
```

**删除用户,3是用户user\_id**

```bash
curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "http://192.168.1.136/api/users/34"
```

**修改用户密码**

```bash
curl -u "admin:Harbor12345" -X PUT -H "Content-Type: application/json" "http://192.168.1.136/api/users/4/password" -d @uppwd.json
```

**查看项目相关角色**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/projects/2/members/"
```

**项目添加角色**

```bash
curl -u "jaymarco:Harbor123456" -X POST -H "Content-Type: application/json" "http://192.168.1.136/api/projects/2/members/" -d @role.json
```

**查看镜像**

```bash
curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/repositories?project_id=2&q=镜像名"
```

**删除镜像**

```bash
curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "http://192.168.1.136/api/repositories/marktrace%2Fasset/tags/latest"
```

**获取镜像标签**

```bash
curl -s -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "http://192.168.1.136/api/repositories/marktrace%2Fasset/tags/" |grep "digest" -C 2 |grep ""name""
```
