Hacker News new | ask | show | jobs
Show HN: Compare local Docker images with ones in registry (github.com)
20 points by ivanilves 3218 days ago
3 comments

Now if we could just get some sort of hash consensus around what is in root.tar.xz. I feel like we are all blindly trusting large binary blobs as the core of our systems without any reproducible builds or peer auditing.
You might be interested in distroless[1] base images.

The repo links to a talk that goes into more depth, but the basic idea is to a use minimal language-specific base for your runtime instead of e.g. statically linking all of ubuntu into your image.

The base images are built with bazel's docker rules[2], so you get reproducible builds.

[1] https://github.com/GoogleCloudPlatform/distroless

[2] https://github.com/bazelbuild/rules_docker

I've even been using these rules here to work on making the Debian distro rootfs.tar.xz times we provide for Google Cloud Platform reproducible.

The same source should lead to the same tarball, and anyone should be able to clone the repo and verify that.

github.com/GoogleCloudPlatform/debian-docker

you have "Build from source" option, no? ;)
According to https://hub.docker.com/_/debian/ at least the debian base images should be reproducible, although I have not tried it...
What do I really like is to use empty "scratch" as a base, and put only required stuff there. At least with Golang projects it works.

But yes, you can not be sure what do you have in every 3rd party image you use. This is a big problem in the Docker world IMO.

What exactly is the point of docker with a golang project?
I don't run Docker in production, but I'd say it's the infrastructure. Docker images seem to be turning into the universal package format for distribution, CI, orchestration, resource limiting, etc. If you need to run a Go service which you to scale horizontally and mix with other projects (possibly dependencies), it's just easier to stuff your binary into a Docker image.
Would be great if there was a Dockerfile, so it could be run from Docker for Windows.
I was looking for something like this just this week. Awesome!
Glad it helped!

Feel free to submit issue or PR or some other form of feeback ;)