golang docker sdk中用ImagePull方法下载的镜像显示下载成功打印出来的日志也是成功的但是docker images命令行和docker sdk中的ImageList方法输出的结果却没有这个镜像但是通过docker pull命令拉取镜像是有的
可能是因为ImageList方法默认只返回本地镜像,而不包括从远程仓库拉取的镜像。你可以尝试使用ImageList方法的WithFilters选项来获取远程仓库的镜像。
例如,可以使用以下代码来获取所有镜像(包括本地和远程仓库的):
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
images, err := cli.ImageList(ctx, types.ImageListOptions{All: true})
if err != nil {
panic(err)
}
for _, image := range images {
fmt.Println(image.ID)
}
}
这样就可以获取到所有镜像的列表,包括从远程仓库拉取的镜像。
原文地址: https://www.cveoy.top/t/topic/ibbS 著作权归作者所有。请勿转载和采集!