Litcius/Paper detail

Functional Networking for Millions of Docker Desktops (Experience Report)

Anil Madhavapeddy, David J. Scott, Patrick Ferris, Ryan Gibb, Thomas Gazagnaire

2025Proceedings of the ACM on Programming Languages14 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceOperating systemCloud Computing and Resource ManagementSoftware System Performance and ReliabilitySecurity and Verification in Computing