by tomas789 on 1/8/24, 3:35 PM with 61 comments
by miquong on 1/8/24, 5:34 PM
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)
by notatoad on 1/8/24, 4:26 PM
by runfaster2000 on 1/8/24, 4:57 PM
Dredge is another tool to look at. I use it for diffing layers.
https://github.com/mthalman/dredge/blob/main/docs/commands/i...
by maxloh on 1/8/24, 7:36 PM
Examples that come to my mind include Docker, Podman, nerdctl, Terraform and Kubernetes.
Is there any obvious advantage that GoLang offers, making it so popular for building these tools?
by TechIsCool on 1/8/24, 4:59 PM
I am curious if anyone knows how to get the contents of the file you have highlighted, a lot of the times I use dive to validate that a file exists in a layer and then I want to peak at it. Currently I normally revert to running the container and using cat or extracting the contents and then wandering into the folders.
by indrora on 1/9/24, 12:52 AM
A+ software.
by diazc on 1/8/24, 5:13 PM
And some in the docker category as well:
by kylegalbraith on 1/9/24, 2:04 PM
Dive also inspired us to make it easier to surface what is actually in your build context, on every build. So we shipped that as a feature in Depot a few weeks back.
by eris_agx on 1/8/24, 11:56 PM
by sureglymop on 1/8/24, 8:03 PM
I use it to see what random scripts one is encouraged to pipe into bash would do to a system.
by tonymet on 1/9/24, 3:30 AM
- unneeded build dependencies. Used a scratch image and/or removed build deps in the same step - node_modules for dev-deps . Used prod - Embeded Chromium builds (with puppetteer). Removed chromium and remoted an external build
Docker desktop now has this feature built in, but I've been using dive for years to find wasted space & potential security issues.
by oooyay on 1/8/24, 5:13 PM
by radus on 1/9/24, 5:18 AM
alias dive='docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive'
(as suggested in project the README)by vbezhenar on 1/8/24, 7:19 PM
by animeshjain on 1/8/24, 4:57 PM
by a_t48 on 1/8/24, 5:14 PM
by tornadofart on 1/8/24, 5:20 PM
by greenie_beans on 1/8/24, 4:38 PM