Skip to content

Commit e913433

Browse files
authored
fix(docker): getting an image by ID or a name with tag (fanal#425)
1 parent 483697b commit e913433

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

image/daemon/docker.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,17 @@ func DockerImage(ref name.Reference) (Image, func(), error) {
2424
}
2525
}()
2626

27-
imageID := ref.String()
27+
// <image_name>:<tag> pattern like "alpine:3.15"
28+
// or
29+
// <image_name>@<digest> pattern like "alpine@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300"
30+
imageID := ref.Name()
2831
inspect, _, err := c.ImageInspectWithRaw(context.Background(), imageID)
2932
if err != nil {
30-
return nil, cleanup, xerrors.Errorf("unable to inspect the image (%s): %w", imageID, err)
33+
imageID = ref.String() // <image_id> pattern like `5ac716b05a9c`
34+
inspect, _, err = c.ImageInspectWithRaw(context.Background(), imageID)
35+
if err != nil {
36+
return nil, cleanup, xerrors.Errorf("unable to inspect the image (%s): %w", imageID, err)
37+
}
3138
}
3239

3340
history, err := c.ImageHistory(context.Background(), imageID)

0 commit comments

Comments
 (0)