Skip to content

Conversation

@vvoland
Copy link
Collaborator

@vvoland vvoland commented Nov 7, 2022

This fixes a few bugs in the docker commit.

  • Committing an image from container running a non-native platform produced an image for the native platform
  • If the base image was manifest list, then the resulting image was missing the parent's rootfs in its layers
  • Usage of docker/errdefs instead of containerd/errdefs for checking containerd not found error
  • Two images being saved after commit (one with the desired name, and the other one with digest).

@vvoland vvoland force-pushed the c8d-commit-platform-fix branch 2 times, most recently from 7afdf1e to 02e253f Compare November 7, 2022 14:35
@vvoland vvoland force-pushed the c8d-commit-platform-fix branch 2 times, most recently from a84d38f to 8ef462f Compare November 7, 2022 14:36
The base image should match the container's platform.
This also fixes an issue where the parsed manifest is empty because the
image's target is manifest list instead of manifest.

Signed-off-by: Paweł Gronowski <[email protected]>
The check for errdefs.IsNotFound didn't work as expected because it used
the docker/errdefs instead of containerd/errdefs.

Signed-off-by: Paweł Gronowski <[email protected]>
Previously the image was stored with name being set to its digest. This
caused two images to exists after a successful commit because the image
is also tagged to a desired name by caller of `CommitImage`.

Signed-off-by: Paweł Gronowski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants