Good point. The idea of containerization has existed for a long time. A widespread implementation of it has not. The levels of abstraction are "idea of containerization" -> kernel implementation -> userspace tools. LXC, Solaris Containers, BSD jails all exist at kernel level of abstraction. Docker, Rocket, lxc-tools exist at userspace level of abstraction.
For any component at a given level of abstraction to gain widspread adoption, it needs to beat its competitors. Linux kernel needed to beat FreeBSD and Solaris. That's why I started the story with "linux kernel gains mainstream adoption." Consolidation at the kernel abstraction level is complete. Linux won. Now it's time for consolidation in the userspace abstraction level.
Solaris containers are no longer just a kernel level of abstraction though. As of Solaris 11.2 they're also capable of providing a near-system-level of abstraction via "Kernel Zones":
These allow virtualization of multiple, independent instances of the operating system each with their own version of the kernel and processes. It is not the same as running multiple instances of VMWare, etc. since it is specifically designed to handle virtual Solaris instances:
For any component at a given level of abstraction to gain widspread adoption, it needs to beat its competitors. Linux kernel needed to beat FreeBSD and Solaris. That's why I started the story with "linux kernel gains mainstream adoption." Consolidation at the kernel abstraction level is complete. Linux won. Now it's time for consolidation in the userspace abstraction level.