iconAnil Madhavapeddy, Professor of Planetary Computing

Functional Networking for Millions of Docker Desktops

Anil Madhavapeddy, Dave Scott, Patrick Ferris, Ryan Gibb, and Thomas Gazagnaire.

Journal paper in Proceedings of ACM Programming Languages (vol 9 issue ICFP).

URL (dl.acm.org)   DOI   BIB   PDFpdf

Docker is a developer tool used by millions of developers to build, share and run software stacks. The Docker Desktop clients for Mac and Windows have long used a novel combination of virtualisation and OCaml unikernels to seamlessly run Linux containers on these non-Linux hosts.

We reflect on a decade of shipping this functional OCaml code into production across hundreds of millions of developer desktops, and discuss the lessons learnt from our experiences in integrating OCaml deeply into the container architecture that now drives much of the global cloud. We conclude by observing just how good a fit for systems programming that the unikernel approach has been, particularly when combined with the OCaml module and type system.

# 1st Aug 2025 iconpapers journal