Hacker News new | ask | show | jobs
by fabiomaia 2588 days ago
Interesting. So what use cases is Docker good for? Why is it so popular if systemd suffices?
4 comments

Docker is about deployment. The isolation model is built on the same tooling that systemd uses, but the usage model is all about how to come up with an easily isolated runtime environment that can be published and extended in a big development community.

Basically systemd has nothing like a dockerfile, that's not what it's for.

I think there's a good argument though that Docker should be retargetting its encapsulation work to a lower level OS primitive where possible (which would be systemd on linux) instead of rolling its own.

See podman[1]

[1] https://podman.io/

Docker provides some more approachable tooling on top and (IMO, at least) its networking is more straightforward for "developer-y" use cases.

I quite like systemd-nspawn too, though.

Cross platform stuff? Docker allows you to do many things on Windows and Linux.

I’m not arguing that this is worth the overhead, or even a useful feature in practice (most companies and products tend to pick one environment and stick to it), but one that comes to mind that systemd would likely never have.

The cross-platform stuff is interesting... however, in practice almost everything outside Linux containers is only weakly supported. You have to jump through some hoops to use alpha/nightly builds of Docker hand installed in Windows 2019 or later Win10 builds in order to support both Linux and Windows containers on a single system. I think the work with WSL2 may make things better better as a result.

The naming in Windows and Mac, along with the limitations of the Desktop implementation are also frustrating. Don't get me wrong, I really like Docker as an orchestration base, I just don't think the cross-platform support is a value add in practice and in fact detracts as a whole imho.

I'm not sure systemd had every container feature available when docker was released. If I'm not mistaken, systemd-nspawn (systemd alternative to docker) is much more recent.