Sometimes, you just need some temporary storage when working with container images. Eg, when using crane or sigstore where every operation is a push to a remote registry.
crane has an in-memory implementation of docker and oci compatible registry in crane registry. No auth, no permanent storage, just a plain local cache to work with
$ go install github.com/google/go-containerregistry/cmd/crane@latest $ PORT=8080 crane registry serve
zot is an oci-only registry backed by the filesystem or s3. It does auth with mTLS, basic, LDAP, oauth2/bearer, anonymous. Plus it has config for repository level auth policies. zot config.
$ zot serve /path/to/config.yaml
Also known as docker.io/registry:2.
A quite featureful registry implementation with filesystem, memory, and cloud blob backed storage. Auth through mTLS, basic, oauth2/bearer, anonymous. But no policies for per-repo config. distribution config
$ docker run -d -p 5000:5000 registry:2