Hacker News new | ask | show | jobs
by miked85 2192 days ago
Isn’t Docker implemented in Go already?
4 comments

...and it was probably around 1.5K lines early in its life.

But that misses the point. This is very helpful for understanding how a Docker-like system works since it's a small and mostly self-contained implementation. You can read through the entire thing and fully understand it.

It only cheats in the container registry handling where it pulls in github.com/google/go-containerregistry and for the network setup where it uses github.com/vishvananda/netlink. The rest is done in terms of Go stdlib and syscalls.

Early Docker used external utilities (lxc, iptables) and had the client/server stuff already so it's not as straightforward.

Yep. Docker is famously written Go. The only reason I wrote this is as an educational tool to discuss how containers under Linux really work. It’s self-contained (pun unintended) except for the usage of the go-containerregistry package, which anyway does stuff unrelated to how containers are managed on Linux.
Doesn't matter, rewrite it and make the name a gortmanteau.
gortmanteau

Sir we need you to come with us.

take your upvote and get out :))
I think you mean, take your upvote and go. ;)
take your upvote, check err and go.
Yes. TIL.

> What Programming Language Does Docker Use? Docker is written in the Google Go (golang) programming language. To learn why Go was used, we’ll refer you directly to Google.[1]

[1] https://blog.stoneriverelearning.com/docker-101-what-is-dock...

Yeah both Docker and Podman are written in Go