如果用docker tag命令给镜像打标签但是golang docker sdk中的Imagelist方法只会展示打标签后的镜像没有把原始镜像和打标签镜像都展示
在使用Golang Docker SDK的Imagelist方法时,它默认只会展示打了标签的镜像。如果你想展示所有镜像,包括原始镜像和打标签的镜像,你可以使用docker.ImageListOptions结构体中的All字段来实现。
下面是一个示例代码,展示如何使用All字段来获取所有镜像列表:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
// 设置All字段为true,以获取所有镜像
options := types.ImageListOptions{
All: true,
}
images, err := cli.ImageList(context.Background(), options)
if err != nil {
panic(err)
}
for _, image := range images {
fmt.Println(image.ID)
}
}
在上述示例中,我们创建了一个ImageListOptions结构体,并将其中的All字段设置为true。然后,我们使用cli.ImageList方法来获取所有镜像的列表,并遍历打印每个镜像的ID。
这样,你就可以获取到所有镜像,包括原始镜像和打了标签的镜像。
原文地址: http://www.cveoy.top/t/topic/irmF 著作权归作者所有。请勿转载和采集!