diff options
-rw-r--r-- | libpod/image/image.go | 10 | ||||
-rw-r--r-- | libpod/image/image_test.go | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go index 3d8cf2651..2457a1c22 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -459,13 +459,19 @@ func normalizeTag(tag string) (string, error) { return "", err } // If the input doesn't specify a registry, set the registry to localhost + var ref reference.Named if !decomposedTag.hasRegistry { - ref, err := decomposedTag.referenceWithRegistry(DefaultLocalRegistry) + ref, err = decomposedTag.referenceWithRegistry(DefaultLocalRegistry) + if err != nil { + return "", err + } + } else { + ref, err = decomposedTag.normalizedReference() if err != nil { return "", err } - tag = ref.String() } + tag = ref.String() // If the input does not have a tag, we need to add one (latest) if !decomposedTag.isTagged { tag = fmt.Sprintf("%s:%s", tag, decomposedTag.tag) diff --git a/libpod/image/image_test.go b/libpod/image/image_test.go index 2a68fd273..a85cd5386 100644 --- a/libpod/image/image_test.go +++ b/libpod/image/image_test.go @@ -268,6 +268,7 @@ func TestNormalizeTag(t *testing.T) { {"example.com/busybox:notlatest" + digestSuffix, "example.com/busybox:notlatest" + digestSuffix}, // Qualified name:tag@digest {"busybox:latest", "localhost/busybox:latest"}, // Unqualified name-only {"ns/busybox:latest", "localhost/ns/busybox:latest"}, // Unqualified with a dot-less namespace + {"docker.io/busybox:latest", "docker.io/library/busybox:latest"}, // docker.io without /library/ } { res, err := normalizeTag(c.input) if c.expected == "" { |