From ea3b59a83bd0aa13225c50c975257dadf3131315 Mon Sep 17 00:00:00 2001 From: Derek McGowan Date: Tue, 26 Jul 2016 00:45:39 -0700 Subject: [PATCH] Fix untag without force while container running With digests being added by default, all images have multiple references. The check for whether force is required to remove the reference should use the new check for single reference which accounts for digest references. This change restores pre-1.12 behavior and ensures images are not accidentally left dangling while a container is running. Signed-off-by: Derek McGowan (github: dmcgowan) Upstream-commit: 1f7a9b1ab3d261de5be7d490e7e4f978f317242f Component: engine --- components/engine/daemon/image_delete.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/engine/daemon/image_delete.go b/components/engine/daemon/image_delete.go index 182edea536..7c61f4e016 100644 --- a/components/engine/daemon/image_delete.go +++ b/components/engine/daemon/image_delete.go @@ -76,7 +76,7 @@ func (daemon *Daemon) ImageDelete(imageRef string, force, prune bool) ([]types.I // first. We can only remove this reference if either force is // true, there are multiple repository references to this // image, or there are no containers using the given reference. - if !(force || len(repoRefs) > 1) { + if !force && isSingleReference(repoRefs) { if container := daemon.getContainerUsingImage(imgID); container != nil { // If we removed the repository reference then // this image would remain "dangling" and since