Today, Docker is virtually synonymous with containers in the minds of many people. That’s because Docker has established a huge lead over alternative container platforms such as LXC and OpenVZ. Why? Keep reading for some insight.
If you have followed containers for more than the past couple of years, you know that Docker is not the only game in town. There are several other container frameworks out there. They include:
- OpenVZ, a system container platform designed to run complete operating systems inside containers on Linux.
- LXC, a containerization framework for the Linux kernel that was released in 2008.
- Rkt, an application container engine developed by CoreOS.
This is the short list of alternative container frameworks. If we wanted to be exhaustive, we could also list technologies that provide container-like functionality, such as FreeBSD Jails and Solaris Zones.
Most of the container or container-like frameworks listed above were released well before Docker came along in 2013. Yet, none of these frameworks ever came close to matching Docker in market share or significance.
OpenVZ powers a commercial container solution from Virtuozzo, but the company doesn’t compare to Docker in size or valuation. LXC entered some production environments in the early 2010s by companies including Heroku, but it never took off in a major way. It’s not clear how many people are using Rkt, but my guess is that their numbers are few because it is rarely discussed.
That begs the question: Why has Docker become the container framework that most people are talking about and using today, whereas alternative container platforms have seen quite limited adoption?
It’s not because Docker is open source. OpenVZ, LXC and Rkt are all also open source, so they don’t stand out from Docker in that way.
Nor is it because Docker is free of cost. OpenVZ, LXC and Rkt are free to use, too. (Being open source is not the same thing as being free of cost, of course.)
Rather, the most important factor that explains Docker’s runaway success relative to alternative container platforms is that Docker happened to hit the market at just the right time. When Docker debuted in 2013, organizations were hungry for an application deployment solution that solved the problems associated with traditional virtualization. They wanted something that was faster, consumed fewer resources and made applications more portable. Docker did those things.
LXC did those things, too. So did OpenVZ in certain respects. But LXC and OpenVZ were both born in the mid-2000s. At that time, traditional virtualization was still working for most people. The demand for scalability was lower. As a result, there was less interest in LXC and OpenVZ when they were released
As for Rkt, by the time it reached version 1.0 in 2016, Docker was already saturating the market.
If Docker had been released in 2008 instead of 2013, it might have enjoyed no more success than LXC. Alternatively, if it had not appeared until 2017, maybe LXC would have become what Docker is today. But as it happened, when Docker appeared in 2013, it was the newest container platform to enter the open-source ecosystem at a moment when demand was high for the type of functionality that Docker provided. Docker wasn’t unique in providing that functionality, but as the newest solution to emerge, it garnered more attention that the older alternatives.
And that’s why we live in a world dominated by Docker today. It didn’t have to be this way. It was just good timing on Docker’s part.