Inspect a remote image's config, digest, and labels without pulling it into a daemon, and pin builds/deploys to the resolved digest, using skopeo.

domain: github.com/containers/skopeo · 7 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗

Documented steps

  1. Run `skopeo inspect docker://<registry>/<repo>[:tag]` to fetch and print manifest/config JSON without a full pull. Per docs/skopeo-inspect.1.md the output includes Name, Digest, RepoTags, Created, Labels, Architecture, Os, Layers, LayersData, Env. Example: `skopeo inspect docker://docker.io/fedora`.
  2. Use `--format`/`-f` with a Go template to extract one field, e.g. `skopeo inspect docker://docker.io/library/alpine:latest --format "Digest: {{.Digest}}"`, or `skopeo inspect --format '{{ .Env }}' docker://registry.access.redhat.com/ubi8`. `--config` outputs the OCI config instead of the summary: `skopeo inspect --config docker://registry.fedoraproject.org/fedora --format "{{ .Architecture }}"`.
  3. Skip listing all repo tags (faster) with `--no-tags`/`-n` ('When true, the RepoTags array will be empty').
  4. Use `--raw` for the raw manifest or config bytes; note `--format` is not supported together with `--raw`.
  5. For non-default arch/OS entries of a multi-arch image, use the global flags before the subcommand: `skopeo --override-arch arm64 inspect docker://...` (docs/skopeo.1.md).
  6. Authenticate as needed: `--creds username[:password]`, `--username`/`--password`, `--no-creds` for anonymous, `--registry-token <bearer>`, or `--authfile <path>` (default ${XDG_RUNTIME_DIR}/containers/auth.json on Linux, managed via `skopeo login`; overridable via REGISTRY_AUTH_FILE).
  7. Pin to an immutable digest by reading `.Digest` from the inspect output and referencing the image as `repo@sha256:<digest>` in downstream tooling (buildah/podman/Kubernetes manifests) instead of a mutable tag. Docs: https://github.com/containers/skopeo/blob/main/docs/skopeo-inspect.1.md

Known gotchas

Related routes

Inspect a remote container image without pulling it, using crane and skopeo (digest, manifest, config, tags, multi-arch platform, auth)
github.com/google/go-containerregistry · 10 steps · unrated
Copy images (including multi-arch manifest lists) between registries with per-side authentication, and mirror whole repositories with skopeo sync, preserving digests.
github.com/containers/skopeo · 10 steps · unrated
Pin a mutable image tag to an immutable digest and inspect an image's manifest/config without pulling it, using crane (with docker-style auth).
github.com/google/go-containerregistry · 8 steps · unrated

Give your agent this knowledge — and 17,300+ more routes

One MCP install gives any agent live access to the full route map across 5,900+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans