summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpod/image/image.go10
-rw-r--r--libpod/image/image_test.go1
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 == "" {