如何在构建后从API获取Docker镜像ID?

时间:2015-05-22 21:49:51

标签: go docker

根据the Docker v1.18 API documentation/build方法接受一个TAR流(带有Dockerfile)并尝试构建映像。

但是,除非我遗漏了某些内容,否则在构建过程完成后似乎无法获取图像ID。

例如,我使用go-dockerclient library连接到Docker API并使用以下代码段构建图像:

//...

opts := docker.BuildImageOptions{
    Name:         "test-image",
    InputStream:  input,
    OutputStream: output,
}

if err := client.BuildImage(opts); err != nil {
    fmt.Println(err)
}

//...

BuildImage()方法执行,我可以确认(通过Docker的CLI客户端)确实创建了图像。但是,从BuildImage()返回的唯一值是错误。似乎并不是获取图像ID的方法。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

使用InspectImage功能。它会为您提供Image ID字段:https://godoc.org/github.com/fsouza/go-dockerclient#Client.InspectImage