Docker has become a de facto standard for executing programs in a portable sandbox (aka "container"). There were increasing demands for making it a "proper" standard, so last year we donated a spec and reference implementation for a universal intermediary format - a "PDF of containers" if you will, and partnered with the Linux Foundation to manage it. The majority of the industry followed.
Now that the Docker container engine supports this intermediary format, and other providers will soon follow suit, it reduces the risk of depending on one provider. If you want to switch away from Docker, you can run your containers elsewhere.
Now everyone can focus on building better tools, instead of trying to make "their" format win. The result is better tools.
I hope this guy does this again here, https://news.ycombinator.com/item?id=11379475
Correction: not CEO, "Founder, CTO and Chief Product Officer"
OpenVZ for instance, has well over 77K host-nodes which run over 840K containers.
These are not ephemeral setups on someone's laptop but servers that companies are spending money on each month to have in a datacenter.
IMHO (because the reporting method requires a small stats program to run, which is optional and many don't run it) there are 2 to 10 times more in actual existence.
Source: https://stats.openvz.org/
I didn't mean that Docker is the most widely deployed software in a particular category (that would be hard to measure accurately anyway). But what Docker introduced is the use of containers to deliver software, not just boot servers. Developers use Docker to package and publish their runnable artifacts, in very large numbers. For example Docker Hub passed 2.5 billion image downloads. Many more images are certainly transferred between private nodes every day. OpenVZ does have a concept of templates (I was an avid user in past life) but they were never intended as a means to distribute applications. In that regard Docker is undisputably the de facto standard.
I hope this clarifies my meaning.
PS. OpenVZ is awesome. I remember when we made the switch from ovz to lxc in 2010, when it became clear which would get merged mainstream, and we could finally ditch our double-patched xen+ovz kernels. The transition was very painful! What we missed most was the "bean counters" feature, ovz stats were unmatched for quite some time.
If you wanted to sit down and write software to build or execute a container, there wasn't a spec to follow or a checklist of the features you needed to support. Basically, you had no idea if what you wrote today would continue to work in the future. Or if someone else constructed a container, that you could run it.
(CoreOS employee)