go-containerregistry is a Go library (with companion tools) for interacting with container images and registries using OCI/Docker formats. It provides primitives to read, write, mutate, sign, and copy images and indexes across registries without shelling out to Docker. High-level utilities like crane and gcrane offer convenient CLIs for everyday tasks—listing tags, copying images between registries, flattening, creating tarballs, and more. The library handles authentication via a pluggable keychain system that understands Docker config files, credential helpers, and environment credentials. It understands multiple on-disk layouts (tarball, OCI layout, remote) and lets you transform images in memory by adding or rebasing layers, adjusting config, and annotating manifests. Because everything is regular Go code, it’s straightforward to embed in CI/CD systems, policy engines, and bespoke supply-chain tooling.

Features

  • Go APIs to pull, push, list, and mutate OCI/Docker images
  • crane/gcrane CLIs for copy, tag, ls, save, and other operations
  • Pluggable auth keychains for local and cloud registries
  • Support for remote, tarball, and OCI-layout image stores
  • In-memory image mutation: layers, config, annotations, indexes
  • Building block for CI pipelines and supply-chain tools

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow Go Container Registry

Go Container Registry Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Go Container Registry!

Additional Project Details

Programming Language

Go

Related Categories

Go Libraries

Registered

2025-10-09