4 ms·
That's sorta true, but the layered-userspace-filesystem support is a pretty big feature that Docker pioneered Linux support for. Did userspace filesystems/laye
by zbentley 9y ago
That's sorta true, but the layered-userspace-filesystem support is a pretty big feature that Docker pioneered Linux support for.
Did userspace filesystems/layered filesystem-in-a-box implementations exist before? Sure: from ZFS to squashfs to tar, all the components were around.
But Docker's popularity is due to its integration; not its novelty. By bundling a filesystem-in-a-box abstraction layer with varying degrees of native OS support into something like a mountable artifact/image, hiding the image caching mechanics behind a nice CLI and image-configuration file format (love 'em or hate 'em, Dockerfiles are a phenomenal example of minimalism and convenience: add some meta commands, and everything else is just shell), and integrating all that with the privacy/isolation (namespaces/chroots) and resource management (cgroups/quotas) stuff, Docker made a really, really powerful model of thinking about "containers" as a single concept.
The thought model is Docker's big achievement: other competitors may unseat Docker eventually, but the concept of "container" as a single, unitary thing that's almost like a VM image will stick around, and the more piecemeal understanding of how containers work will be largely unnecessary, and thus save a lot of time for a lot of people.
- tyingq 9y agoI agree with all of that, but none of it is their intellectual property. It's mostly brand recognition that keeps them afloat. K8s could easily release a command line clone and unseat docker in fairly short order. Not dimininishing the value of what the docker folks bundled together and marketed. They did a terrific job. It just isn't very protected.
- cyphar 9y agoLXC had most (if not all) of what you're describing, and a long time ago Docker was just a simple wrapper around LXC. A lot of the inspiration for containers came from other operating systems (FreeBSD Jails and Solaris Zones) as well as previous work such as Xen. I think what made Docker popular was that it was easier for developers to use, with small bits of information like what ports the container wants to listen on and so on. From an administration standpoint, LXC was already more than good enough.