
Ask HN: Docker vs simple DLLs?
by jdthedisciple on Hacker News.
I’m already feeling bad for creating yet another docker-related post but I figured f** it, I just don’t get the hang of it so somebody pls conclusively, once-and-for all, explain the need for and blessing of docker in a simple, fool-proof fashion: What I did understand so far is “Docker is useful if you have multiple applications with different versions of the same dependencies running on the same machine, as well as for deploying onto any machine”. MY QUESTION: (Why) don’t dynamically linked libraries (.dll) already solve this problem? I come from the .NET world and there I can run any number of applications all with their respective dependencies, e.g. NuGet packages, as .dll files in their own isolated directories – doesn’t this already solve the problem of isolation and avoid dependency-conflicts?
This is also easy to ship to any machine as I just compile the whole thing for the respective architecture and then copy and paste it over, set it up as a service/daemon, whatever. To me a standalone application is simply a directory with an executable and all dependency-dlls in the same directory / some subdirectory. This is already a software-wise isolated application (obv not on the hardware side but lets leave that out for a second), of which I can run multiple on the same system. Why do I need docker on top of that? I am probably misunderstanding something fundamental here so for the 21375th time, what is an idiot-proof explanation for the need of docker in light of dlls?
