63 lines
1.9 KiB
Diff
63 lines
1.9 KiB
Diff
From a50afb463874aa4121c1a61f48b58992550329d6 Mon Sep 17 00:00:00 2001
|
|
From: xingweizheng <xingweizheng@huawei.com>
|
|
Date: Mon, 10 Jan 2022 19:30:49 +0800
|
|
Subject: [PATCH 03/20] fix wrong behavior when the image of image:tag is
|
|
prefix of other image id
|
|
|
|
---
|
|
daemon/remove.go | 3 ++-
|
|
image/image.go | 9 +++++----
|
|
2 files changed, 7 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/daemon/remove.go b/daemon/remove.go
|
|
index 12acf0c..e0a9eed 100644
|
|
--- a/daemon/remove.go
|
|
+++ b/daemon/remove.go
|
|
@@ -20,6 +20,7 @@ import (
|
|
"github.com/pkg/errors"
|
|
"github.com/sirupsen/logrus"
|
|
|
|
+ constant "isula.org/isula-build"
|
|
pb "isula.org/isula-build/api/services"
|
|
"isula.org/isula-build/image"
|
|
"isula.org/isula-build/store"
|
|
@@ -121,7 +122,7 @@ func untagImage(imageID string, store storage.Store, image *storage.Image) (bool
|
|
newNames := make([]string, 0)
|
|
removed := false
|
|
for _, imgName := range image.Names {
|
|
- if imgName == imageID {
|
|
+ if imgName == imageID || imgName == fmt.Sprintf("%s:%s", imageID, constant.DefaultTag) {
|
|
removed = true
|
|
continue
|
|
}
|
|
diff --git a/image/image.go b/image/image.go
|
|
index 37cd7fa..357363a 100644
|
|
--- a/image/image.go
|
|
+++ b/image/image.go
|
|
@@ -522,17 +522,18 @@ func ResolveName(name string, sc *types.SystemContext, store *store.Store) ([]st
|
|
}
|
|
|
|
func tryResolveNameInStore(name string, store *store.Store) string {
|
|
- logrus.Infof("Try to find image: %s in local storage", name)
|
|
- img, err := store.Image(name)
|
|
+ logrus.Infof("Try to find image: %s:%s in local storage", name, constant.DefaultTag)
|
|
+ img, err := store.Image(fmt.Sprintf("%s:%s", name, constant.DefaultTag))
|
|
if err == nil {
|
|
return img.ID
|
|
}
|
|
|
|
- logrus.Infof("Try to find image: %s:%s in local storage", name, constant.DefaultTag)
|
|
- img, err = store.Image(fmt.Sprintf("%s:%s", name, constant.DefaultTag))
|
|
+ logrus.Infof("Try to find image: %s in local storage", name)
|
|
+ img, err = store.Image(name)
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
+
|
|
return img.ID
|
|
}
|
|
|
|
--
|
|
2.27.0
|
|
|