Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: support for SOCI index #5347

Open
tetienne opened this issue Sep 23, 2024 · 2 comments
Open

Feature request: support for SOCI index #5347

tetienne opened this issue Sep 23, 2024 · 2 comments

Comments

@tetienne
Copy link

Follow-up of docker/build-push-action#907

AWS have just announced a new open source feature for making docker images load faster. It would be great if support can be added for the build, and push stage of the action. 🙏

AWS Blog: https://aws.amazon.com/about-aws/whats-new/2023/07/aws-fargate-container-startup-seekable-oci/

Getting started with the SOCI snapshot tool: https://github.com/awslabs/soci-snapshotter/blob/main/docs/getting-started.md

@nakamorichi
Copy link

nakamorichi commented Sep 23, 2024

You probably mean buildctl support for generating and pushing soci indexes? There's no such thing as soci image, but you can enable support for soci by setting it as snapshotter for buildkitd:

[worker.containerd]
	snapshotter = 'soci'
        ...

And for building/pushing soci indexes, you can use nerdctl (recommended) or soci cli:

I wouldn't keep hopes up for having support for soci or any modern snapshotters drop to docker. Out-of-the-box support for buildctl would be nice, though.

@nakamorichi
Copy link

nakamorichi commented Sep 23, 2024

Btw, I'm currently building and pushing images and soci indexes this way:

# build the image without pushing
nerdctl build \
	--snapshotter=soci \
	--cache-from=type=registry,ref=<cache image> \
	--cache-to=type=registry,mode=max,ref=<cache image>,image-manifest=true,oci-mediatypes=true \
	--output=type=image,name=<app image>,push=false,oci-mediatypes=true,store=true \
	.
# push image and soci index
nerdctl push \
	--snapshotter=soci \
	--soci-span-size=2097152 \
	--soci-min-layer-size=20971520 \
	<app image>

nerdctl build apparently is based on buildctl and doesn't thus support soci, so image build and push need to be split into separate commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants