根据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的方法。
我错过了什么吗?
答案 0 :(得分:1)
使用InspectImage
功能。它会为您提供Image
ID
字段:https://godoc.org/github.com/fsouza/go-dockerclient#Client.InspectImage