Log an info when an image can't be removed because it's still in use

This commit is contained in:
Chris Bednarski 2015-09-26 00:34:57 -07:00
parent 5632a33036
commit af314b0f4d
1 changed files with 14 additions and 1 deletions

View File

@ -343,7 +343,20 @@ func (h *dockerHandle) Kill() error {
// job. That is OK. Will we log a message but continue. // job. That is OK. Will we log a message but continue.
err = h.client.RemoveImage(h.imageID) err = h.client.RemoveImage(h.imageID)
if err != nil { if err != nil {
log.Printf("[WARN] driver.docker: failed to remove image %s; it may still be in use", h.imageID) containers, err := h.client.ListContainers(docker.ListContainersOptions{
Filters: map[string][]string{
"image": []string{h.imageID},
},
})
if err != nil {
return fmt.Errorf("Unable to query list of containers: %s", err)
}
inUse := len(containers)
if inUse > 0 {
log.Printf("[INFO] driver.docker: image %s is still in use by %d containers", h.imageID, inUse)
} else {
return fmt.Errorf("Failed to remove image %s", h.imageID)
}
} else { } else {
log.Printf("[INFO] driver.docker: removed image %s", h.imageID) log.Printf("[INFO] driver.docker: removed image %s", h.imageID)
} }