Flux Research Group / School of Computing

Supporting Docker in Emulab-Based Network Testbeds

David Johnson, Elijah Grubb, and Eric Eide

Proceedings of the 11th Workshop on Cyber Security Experimentation and Test (CSET) 2018.

Virtualization, Testbeds, Cloud


Researchers conduct experiments in a variety of computing environments, including dedicated testbeds and commercial clouds, and they need convenient mechanisms for deploying their software within these disparate platforms. To address this need, we have extended Emulab so that it can instantiate and configure container-based virtual devices using Docker images. Docker is a de facto standard for packaging and deploying software in cloud environments; now, researchers can use Docker to package and deploy software within Emulab-based testbeds as well. We describe how Emulab incorporates Docker and how it extends Docker images to support the interactivity that researchers expect within a testbed. We show that Emulab can use many popular Docker images to create testbed experiments. We expect that Emulab's support for Docker will make it easier for researchers to move their activities freely, both into the testbed and out into production.