Building Bridges: Supporting Docker in Emulab-Based Network Testbeds
Proceedings of the 11th Workshop on Cyber Security Experimentation and Test (CSET) 2018.
© Copyright 2018 by authors
Testbeds do not exist in a vacuum. Researchers commonly conduct experiments by utilizing a variety of environments, including both dedicated testbeds and commercial clouds, and they need convenient and appropriate mechanisms for packaging and deploying their software across disparate environments. To address this need, we have extended the Emulab software so that it can instantiate and configure container-based devices using Docker images. Docker is a de facto standard for packaging and deploying systems in many cloud environments; now, researchers can use Docker to package and deploy systems 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 evaluate Emulab's Docker support by evaluating its ability to use existing Docker images, from both Docker Hub and past research projects, 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.