Agree with your 2nd suggestion,the InspcetImage should not be called,i’ll fix it.

while the jsonmessage parameter,here is the build result returned by docker daemon.
{"stream":"Step 0 : FROM ubuntu\n"}{"stream":" ---\u003e 862609d89ff9\n"}{"stream":"Step 1 : Add test /\n"}{"stream":" ---\u003e ff69ebbf5e6c\n"}{"stream":"Successfully built ff69ebbf5e6c\n"}{"stream":"Removing intermediate container 284bef728bd7\n"}
and this is a “application/json” mime type, so in stream() this will be decoed as jsonMessage, which is a struct of :
type jsonMessage struct {
	Status   string `json:"status,omitempty"`
	Progress string `json:"progress,omitempty"`
	Error    string `json:"error,omitempty"`
}

so this will not get any image id infomation through that.
you know,i wanna parse the body but i can’t get it through the “stream” function.
i think "stream" and "do" are good utility functions but they only aimed at json format input or output,i think it's better to make them handle other types data such as a stream data input.how about it?