You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to use the Kubernetes driver to create a multi-node builder with one node per architecture (linux/amd64 and linux/arm64) so I can create multi-platform manifests and build with the native architecture on each node. I've been using the containerd image store in the docker daemon and building with --output type=docker which has worked for multi-platform images with QEMU emulation and the default driver, however I'm now trying to speed this up with native builders on the k8s driver.
When I try building with a multi-node builder I receive the following error:
ERROR: oci for multi-node builds currently not supported
returnerrors.Errorf("%s for multi-node builds currently not supported", e.Type)
I'm wondering if this is a technical limitation of buildx or if it just assumes I'm using the default docker image store which doesn't support OCI image types (which I guess is what --output type=docker uses with the containerd image store?)
This seems like a simple enough change to avoid this error message if the containerd snapshotter feature is enabled, however, I'm unsure of how that can be checked within buildx. I'd be happy to open a PR for this if that's the only issue, just wondering if someone can provide some more info here.
Side note: I'm avoiding using --output type=registry or --push since our CI pipelines have a few steps between building and pushing. Ideally, the image would be built and kept in the local image store.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I'm trying to use the Kubernetes driver to create a multi-node builder with one node per architecture (
linux/amd64
andlinux/arm64
) so I can create multi-platform manifests and build with the native architecture on each node. I've been using the containerd image store in the docker daemon and building with--output type=docker
which has worked for multi-platform images with QEMU emulation and the default driver, however I'm now trying to speed this up with native builders on the k8s driver.When I try building with a multi-node builder I receive the following error:
which is coming from https://github.com/docker/buildx/blob/master/build/build.go#L324
I'm wondering if this is a technical limitation of buildx or if it just assumes I'm using the default docker image store which doesn't support OCI image types (which I guess is what
--output type=docker
uses with the containerd image store?)This seems like a simple enough change to avoid this error message if the containerd snapshotter feature is enabled, however, I'm unsure of how that can be checked within buildx. I'd be happy to open a PR for this if that's the only issue, just wondering if someone can provide some more info here.
Side note: I'm avoiding using
--output type=registry
or--push
since our CI pipelines have a few steps between building and pushing. Ideally, the image would be built and kept in the local image store.Beta Was this translation helpful? Give feedback.
All reactions