镜像版本
更新时间:2026-03-30
镜像版本管理
前置代码
如下代码用于初始化 CCR Client,后续示例均基于该 ccrClient。
Go
1package main
2
3import (
4 "fmt"
5
6 "github.com/baidubce/bce-sdk-go/services/eccr"
7)
8
9func newClient() (*eccr.Client, error) {
10 ak := "<your-ak>"
11 sk := "<your-sk>"
12 endpoint := "ccr.bj.baidubce.com"
13 return eccr.NewClient(ak, sk, endpoint)
14}
15
16func main() {
17 ccrClient, err := newClient()
18 if err != nil {
19 fmt.Println("new eccr client failed:", err)
20 return
21 }
22
23 _ = ccrClient
24}
ListTags
如下代码可以列举镜像版本:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3repositoryName := "nginx"
4
5args := &eccr.ListTagsArgs{
6 PageNo: 1,
7 PageSize: 10,
8 TagName: "",
9}
10
11resp, err := ccrClient.ListTags(instanceID, projectName, repositoryName, args)
12if err != nil {
13 fmt.Println("list tags failed:", err)
14 return
15}
16
17fmt.Println("total:", resp.Total)
18for _, tag := range resp.Items {
19 fmt.Printf("tag=%s digest=%s\n", tag.TagName, tag.Digest)
20}
GetTagDetail
如下代码可以查询指定镜像版本详情:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3repositoryName := "nginx"
4tagName := "1.25"
5
6resp, err := ccrClient.GetTagDetail(instanceID, projectName, repositoryName, tagName)
7if err != nil {
8 fmt.Println("get tag detail failed:", err)
9 return
10}
11
12fmt.Println("tag:", resp.TagName)
13fmt.Println("digest:", resp.Digest)
14fmt.Println("size:", resp.Size)
DeleteTag
如下代码可以删除单个镜像版本:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3repositoryName := "nginx"
4tagName := "tag-to-delete"
5
6err := ccrClient.DeleteTag(instanceID, projectName, repositoryName, tagName)
7if err != nil {
8 fmt.Println("delete tag failed:", err)
9 return
10}
11
12fmt.Println("delete tag success")
BatchDeleteTags
如下代码可以批量删除镜像版本:
Go
1instanceID := "ccr-xxxxxxxx"
2projectName := "demo-project"
3repositoryName := "nginx"
4
5args := &eccr.BatchDeleteTagsArgs{
6 Items: []string{"tag-a", "tag-b"},
7}
8
9err := ccrClient.BatchDeleteTags(instanceID, projectName, repositoryName, args)
10if err != nil {
11 fmt.Println("batch delete tags failed:", err)
12 return
13}
14
15fmt.Println("batch delete tags success")
评价此篇文章
