Back in 2015 Docker was awesome on Linux, but the experience on Mac and Windows was
a little rough. Rather than shipping a coherent app, Docker shipped
a bundle of software components loosely glued together:
Virtual Box, docker machine, boot2docker and Kitematic (as "Docker Toolbox")
There was a lot to fix. Installations often failed (for various reasons).
The networking often failed (interactions with firewall rules and VPNs). Worst of all
nothing worked unless you remembered to set a bunch of arcane environment
variables in your shell (DOCKER_TLS_VERIFY, DOCKER_HOST etc).
We used our systems background (and unikernel libraries) to create a seamless "Docker for Mac"
and "Docker for Windows" experience.
Later the same code evolved into a platform for running containers and AI agents in microVMs
and is used across the Docker product suite.
Here's a list of some of the things I've worked on, newest first.
Almost all of it was done with other people, so where I can I've linked to
the code, the blog posts and the papers.