mirror of
https://github.com/moby/moby.git
synced 2026-07-25 00:37:00 +00:00
c8d: Preserve image labels when tagging
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
This commit is contained in:
@@ -16,14 +16,15 @@ import (
|
||||
|
||||
// TagImage creates an image named as newTag and targeting the given descriptor id.
|
||||
func (i *ImageService) TagImage(ctx context.Context, imageID image.ID, newTag reference.Named) error {
|
||||
target, err := i.resolveDescriptor(ctx, imageID.String())
|
||||
targetImage, err := i.resolveImage(ctx, imageID.String())
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to resolve image id %q to a descriptor", imageID.String())
|
||||
}
|
||||
|
||||
newImg := containerdimages.Image{
|
||||
Name: newTag.String(),
|
||||
Target: target,
|
||||
Target: targetImage.Target,
|
||||
Labels: targetImage.Labels,
|
||||
}
|
||||
|
||||
is := i.client.ImageService()
|
||||
@@ -40,7 +41,7 @@ func (i *ImageService) TagImage(ctx context.Context, imageID image.ID, newTag re
|
||||
|
||||
// Check if image we would replace already resolves to the same target.
|
||||
// No need to do anything.
|
||||
if replacedImg.Target.Digest == target.Digest {
|
||||
if replacedImg.Target.Digest == targetImage.Target.Digest {
|
||||
i.LogImageEvent(imageID.String(), reference.FamiliarString(newTag), events.ActionTag)
|
||||
return nil
|
||||
}
|
||||
@@ -65,7 +66,7 @@ func (i *ImageService) TagImage(ctx context.Context, imageID image.ID, newTag re
|
||||
defer i.LogImageEvent(imageID.String(), reference.FamiliarString(newTag), events.ActionTag)
|
||||
|
||||
// The tag succeeded, check if the source image is dangling
|
||||
sourceDanglingImg, err := is.Get(compatcontext.WithoutCancel(ctx), danglingImageName(target.Digest))
|
||||
sourceDanglingImg, err := is.Get(compatcontext.WithoutCancel(ctx), danglingImageName(targetImage.Target.Digest))
|
||||
if err != nil {
|
||||
if !cerrdefs.IsNotFound(err) {
|
||||
logger.WithError(err).Warn("unexpected error when checking if source image is dangling")
|
||||
|
||||
Reference in New Issue
Block a user