I am beyond excited to be on the cover of the CACM March issue with "A Decade of Docker Containers", coauthored with Dave Scott and Justin Cormack:

For the past decade, Docker has provided a robust solution for building, shipping, and sharing applications. But behind its simple "build and run" workflow lie many years of complex technical challenges. -- A Decade of Docker Containers, Communications of the ACM, Mar 26
Docker was such a whirlwind ride that we never got to write any academic papers about some of the technical systems magic that went into it. Today's article, along with the ICFP experience report from last year form a companion pair to delve into the tricks required to scale the system to millions of daily users.
We cover the technical origins in Linux, the library VMM layers needed to hide Linux on macOS and Windows. And then we discuss where Docker is going next, with the giant AI coding wave making it incredibly important to sandbox agents running pretty much everywhere now.
The video accompanying the article was recorded in my office by the wonderful Rosie Powell, with thanks to Pembroke College. And the pixel cover art of container ships that the CACM commissioned is fantastic!
1 Getting involved in Docker

We didn't actually realise that's what we'd call it back then. The project was originally codenamed Pinata and even had a CLI tool of the same name for quite a while! In order to get a feel for whether or not it would be popular, we took a leaf out Gmail's launch and send out limited invite codes. There was nothing to have been worried about as it took off fast (except the traditional HN disdain) with positive reviews.
Docker For Mac is a game changer. I’ve been able to cope with the previous tools but the experience has been rough to say the least. -- Docker For Mac Beta Review, Noah Zoschke, Apr 2016
After the desktop beta came out in 2016, we also open sourced quite a few components, some of which are now features implemented into macOS and Windows. Some tricks like VPNKit are now adopted widely in other ecosystems, which is nice to see.
2 Docker is defined by its incredible community
While our article covers the technical aspects of Docker, we don't comment enough on how fun the community is! (See the massive acknowledgements section in the article for just a small sample of the key contributors).Container management and cloud computing are obviously worth vast amounts of money now, but the giant whale and plush toys and crazy antics at Dockercons are what I'll remember most fondly. Throughout all the ups and downs, Docker's been (I strongly feel) a strong force for openness in preventing any single entity capturing the full workflow of how we manage software, and therefore contributing to building a vibrant and diverse ecosystem.
Today, it's still entirely possible for a small player to quite simply spin up their own selfhosted infrastructure and interoperate with the behemoths. That's important; heck I use swarm mode on my own #selfhosting to this day!
We're seeing a big change in open source community building happening this year. The vibe coding onslaught is calling into question how we'll make open source friends in the future, and it looks like we're falling back to reputation networks for contributors. I hope that we see more Docker-style communities spring up than boring corporate driven artificial ecosystems!
3 The future's bright for containerisation


Here's to the coming century of containerisation; enjoy reading the article and do let me know if you have any comments or queries!

Read more about A Decade of Docker Containers.
