-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Potential regression: v0.12.x OCI exporter creates images which cannot be loaded in Docker #4131
Comments
/cc @jedevc ISTR you once had a ticket for this. I'm wondering if it previously ignored the "oci" option and automatically fell back to other formats. Possibly related; |
Ha, found it. #1949, which was fixed by containerd/containerd#8213 - TL;DR the The If you're loading into "normal" docker, you want |
I have not explicitly enabled containerd store on any of the hosts, frankly didn't know this was a feature. I was using this as part of local testing, and previously as a workaround for some provenance bugs which resulted in empty images being created. I also previously used this to create images importable by specific embedded container runtime implementations. So tl;dr is that pre-v0.12.0 behaviour is a bug? Also what is the difference between |
|
So if I want to create images that are usable by any container runtime, I should create OCI images, but use the aforementioned containerd image store feature? |
@jedevc is there an easy way to find what layout a tarball uses from its content? (thinking if we can produce a better error message for the "non-containerd-store" case) |
@Emzi0767 "docker" images are compatible with any OCI runtime, but the If your intent is to produce images to be used by other installs / runtimes, you can consider to use the |
Splendid. I will close this issue now, since it appears the original problem is not, in fact, a bug. Thank you both for your input, I really appreciate your time. |
I have recently encountered a problem when building images using Docker BuildKit. When using
--output=type=oci,dest=test-image.tar
, the exporter creates images which I could not import on any Docker version available to me.Here is a minimal reproducible example:
Dockerfile:
Create a buildx builder like so:
docker buildx create --use --bootstrap --name=regression --driver-opt=image=moby/buildkit:v0.12.1-rootless
Build and attempt to load the image:
Expected outcome:
The image gets loaded and is visible under
docker images
.Actual outcome:
Tested building on:
Tested image loading on:
Affected versions tested:
moby/buildkit:v0.12.1-rootless
moby/buildkit:v0.12.0-rootless
Working versions tested:
moby/buildkit:v0.11.6-rootless
Workaround:
When creating a builder, explicitly pin the
moby/buildkit
image tag to version 0.11.6 or earlier, rootless variants included., for example:The text was updated successfully, but these errors were encountered: