This beautiful tool allows you to explore the contents of a registry interactively.
You can even drill down into layers to explore an image's filesystem.
Enter a public image, e.g. "ubuntu:latest":
Enter a public repository, e.g. "ubuntu":
This service lives on Cloud Run and uses google/go-containerregistry for registry interactions.
Not really! The first time a layer is accessed, I download and index it. Browsing the filesystem just uses that index, and opening a file uses Range requests to load small chunks of the layer as needed.
That's not a question.
Great question! See here.
Tl;dr, you can seek to an arbitrary position in a gzip stream if you know the 32KiB of uncompressed data that comes just before it, so by storing ~1% of the uncompressed layer size, I can jump ahead to predetermined locations and start reading from there rather than reading the entire layer.
Thanks @aidansteele!
Yes! See here.