|
|
|
|
|
by cpuguy83
2528 days ago
|
|
Docker's runtime is long spun out into containerd (though there is more work to do here).
Builder is in buildkit, which sits on top of containerd. Would be nice to decouple networking, this will take some work. Docker is more and more becoming an API that sits on top of a bunch of other services. It does take time to make this happen without breaking compatibility, though. Docker can also run without root as of Docker 19.03.
Even so, "docker requires too many privileges" is marketing speak. Setting up cgroups requires root, setting up mounts (w/o fuse) requires root, setting up network devices requires root, etc... anyone who wants to do these things requires root.
Rootless mode on all this tech attempts to work around such limitations, but each workaround comes with trade-offs (slower networking, no cgroup support, slower fs access...). Definitely agree, though if you want to run services through systemd Docker is not well designed for that purpose. |
|
Which is a good thing. With Cloud Foundry we moved from using a pre-Docker container engine to using runc as soon as it was available; containerd is the next move.
> Even so, "docker requires too many privileges" is marketing speak.
I don't agree. The API surface still exists and includes too many disparate purposes. The modularisation of Docker is improving that risk profile, but it still exists. Fully segregating the API and the modules is worthy.