Docker's big problem isn't what's below them, it's whats above them. Their monetizing strategy has to involve the fortune 500, and right now, all of the momentum in that area is being eaten by Google with Kubernetes. Kubernetes has a very vocal faction that wants nothing to do with Docker, and replace it with something else.
Docker has plenty of challenges, but they have delivered significant value, most of which is still open source.
This is a team that seems to think it is acceptable to return ASCII art and backspaces in their container management APIs: https://github.com/docker/swarm/issues/1214
So, you're right, but they have a tainted reputation. I wish them all the best, but I don't have high hopes.
EDIT: nevermind, found it via one of the linked issues: https://github.com/docker/swarm/issues/1237
I wish people stopped repeating this without verifying it first. Here is a list of past breaking changes in the Docker API: https://docs.docker.com/engine/breaking_changes/
FreeBSD had jails in 2000. Linux had namespaces and cgroups for years. No one cared until Docker came up with containers in 2013.
It's easy to dismiss it as a better mousetrap, but it was an inflection point in the same way puppet and cfengine before it were inflection points in configuration management and "infrastructure as code"...
Still, I find the Docker daemon massively invasive and too much of a potential gaping security hole. I wish it was more modular and less of it ran privileged/as root, and don't run it on anything sensitive as a result. Usually properly configuring a box and relying on existing process and other forms of isolation (including namespaces) is good enough, especially with good package management. Great for UX/workflow tooling in a dev VM though!
Under the hood Docker has been heavily modularized. Check out https://containerd.io which handles all the low-level container operations in a lightweight daemon with way less footprint. You can use it standalone without pulling in the rest of the Docker platform.
I think what's going on with Docker is that a Priesthood is being created essentially without the product, or rather the product as a secondary matter.
Quite a clever business trick if they pull it off.