Live data from Hacker News

Dive: A tool for exploring a Docker image, layer contents and more

github.com

11–20 of 62 posts

Re: Dive: A tool for exploring a Docker image, layer contents and more

#14

Dive is great. Tools like that are critical for both learning and developing confidence on what you are precisely building/shipping. Dredge is another tool to look at. I use it for diffing layers. https://github.com/mthalman/dredge/blob/main/docs/commands/i...

It really does sound amazing. Would have needed this when you guys (hn) and reddit helped me figure out what a rogue Raspberry Pi was doing in our server closet

https://blog.haschek.at/2019/the-curious-case-of-the-RasPi-i...

Re: Dive: A tool for exploring a Docker image, layer contents and more

#15
For image and layer manipulation, crane is awesome - as is the underlying go-containerregistry library.

It lets you add new layers, or edit any metadata (env vars, labels, entrypoint, etc) in existing images. You can also "flatten" an image with multiple layers into a single layer. Additionally you can "rebase" an image (re-apply your changes onto a new/updated base image). It does all this directly in the registry, so no docker needed (though it's still useful for creating the original image).

https://github.com/google/go-containerregistry/blob/main/cmd...

(updated: better link)

Re: Dive: A tool for exploring a Docker image, layer contents and more

#16
post #8

There’s other great TUI terminal tools like dive here [0], lazydocker and dry come to mind. And some in the docker category as well: [0] https://terminaltrove.com/

Lazydocker has a similar, although simpler, funtionality.

Edit: just checked and it allows to see the layers, but only shows the commands of each one

Re: Dive: A tool for exploring a Docker image, layer contents and more

#20

What's the reason docker uses tar archives instead of ordinary directories for layer contents? This tool is great but it fixes something that should not exist in the first place.

So images are serialized and able to be transmitted over a network.

When an image is used (or "run"), it becomes a container, which makes it behave (to the client) like ordinary files & directories.

Post reply on HN