Golang Docker SDK 中如何展示所有镜像 (包括相同镜像 ID 的镜像)
在 Golang Docker SDK 中,ImageList 方法默认只会展示不同镜像 ID 的镜像。如果你想展示所有镜像,即使镜像 ID 一样的,可以使用 ListImages 方法。
ListImages 方法可以接收一个参数,用于过滤镜像列表。你可以通过设置参数来获取所有镜像,而不仅仅是不同镜像 ID 的镜像。以下是一个示例代码:
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)
}
images, err := cli.ImageList(context.Background(), types.ImageListOptions{All: true})
if err != nil {
panic(err)
}
for _, image := range images {
fmt.Println(image.ID)
}
}
在上面的代码中,我们通过将types.ImageListOptions的All字段设置为true来获取所有镜像,包括那些镜像 ID 相同但标签不同的镜像。
注意,为了使用 Docker SDK,你需要先安装github.com/docker/docker包。你可以使用go get命令进行安装:
go get -u github.com/docker/docker
希望这可以帮助到你!
原文地址: https://www.cveoy.top/t/topic/fwuU 著作权归作者所有。请勿转载和采集!