diff --git a/pkg/kubelet/dockertools/docker.go b/pkg/kubelet/dockertools/docker.go index d9785dcb899..a552f792a72 100644 --- a/pkg/kubelet/dockertools/docker.go +++ b/pkg/kubelet/dockertools/docker.go @@ -167,11 +167,20 @@ func matchImageTagOrSHA(inspected dockertypes.ImageInspect, image string) bool { return true } if isTagged { + hostname, _ := dockerref.SplitHostname(named) // Check the RepoTags for an exact match for _, tag := range inspected.RepoTags { - if tag == image { - // We found a specific tag that we were looking for - return true + // Deal with image with hostname specified + if len(hostname) > 0 { + if strings.HasSuffix(image, tag) { + return true + } + + } else { + if tag == image { + // We found a specific tag that we were looking for + return true + } } } } diff --git a/pkg/kubelet/dockertools/docker_test.go b/pkg/kubelet/dockertools/docker_test.go index 5fb9218583b..6c90894c74a 100644 --- a/pkg/kubelet/dockertools/docker_test.go +++ b/pkg/kubelet/dockertools/docker_test.go @@ -173,6 +173,16 @@ func TestMatchImageTagOrSHA(t *testing.T) { Image: "ubuntu:latest", Output: false, }, + { + Inspected: dockertypes.ImageInspect{RepoTags: []string{"colemickens/hyperkube-amd64:217.9beff63"}}, + Image: "colemickens/hyperkube-amd64:217.9beff63", + Output: true, + }, + { + Inspected: dockertypes.ImageInspect{RepoTags: []string{"colemickens/hyperkube-amd64:217.9beff63"}}, + Image: "docker.io/colemickens/hyperkube-amd64:217.9beff63", + Output: true, + }, { Inspected: dockertypes.ImageInspect{ ID: "sha256:2208f7a29005d226d1ee33a63e33af1f47af6156c740d7d23c7948e8d282d53d",