An introduction to Docker for reproducible research
By Carl Boettiger. OPSR, 2014
1,033 citations recorded by the source corpus.
As computational work becomes more and more integral to many aspects of scientific research, computational reproducibility has become an issue of increasing importance to computer systems researchers and domain scientists alike. Though computational reproducibility seems more straight forward than replicating physical experiments, the complex and rapidly changing nature of computer environments makes being able to reproduce and extend such work a serious challenge. In this paper, I explore common reasons that code developed for one research project cannot be successfully executed or extended by subsequent researchers. I review current approaches to these issues, including virtual machines and workflow systems, and their limitations. I then examine how the popular emerging technology Docker combines several areas from systems research - such as operating system virtualization, cross-platform portability, modular re-usable elements, versioning, and a 'DevOps' philosophy, to address these challenges. I illustrate this with several examples of Docker use with a focus on the R statistical environment.
Subfields: Artificial Intelligence, Computer Networks and Communications, Information Systems and Management
View Paper: https://www.semanticscholar.org/paper/e0b34f80227e9c060bc9c37692278e7cefaa9540
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Jung-Woo Ha
- Daniel M. Low
- Peng Qiu
- Satrajit S. Ghosh
- Juan C. Caicedo
- M. McCourt
- Keith Anderson
- David Eriksson
In Computer Networks and Communications
- Daniel M. Low
- Satrajit S. Ghosh
- M. McCourt
- David Eriksson
- Isabelle M Guyon
- Rashid Mijumbi
- Zhen Xu
- Eero Laaksonen
In Information Systems and Management
- Jung-Woo Ha
- Daniel M. Low
- Satrajit S. Ghosh
- M. McCourt
- David Eriksson
- Isabelle M Guyon
- Rashid Mijumbi
- Zhen Xu
Citations in the corpus
- NSML: Meet the MLaaS platform with a real-world case study (2018, background): “(Boettiger, 2015) Consequently, the environmental setup is delayed or failed even before the main task begins.”
- 5G network slicing using SDN and NFV- A survey of taxonomy, architectures and future challenges (2019, methodology): “Examples of container-based virtualization include: Docker [135] , Linux-Vserver [136] , OpenVZ [137] , and Oracle Solaris Container 13 .”
- Automated assessment of psychiatric disorders using speech: A systematic review (2019, background): “139,140 Innovation might be faster if models could be tweaked in a more efficient manner.”
- Data-analysis strategies for image-based cell profiling (2017, background): “However, recent initiatives are decreasing this cost for authors, including the Image Data Resource (IDR; https://idr-demo.openmicroscopy.org/) 128 , which accepts cellular images at the scale of high-throughput image profiling experiments.”
- Using Unity to Help Solve Intelligence (2020, methodology): “For example, it provides a means of creating new Docker images by creating a text file, called a “Dockerfile”.”
- Bayesian Optimization is Superior to Random Search for Machine Learning Hyperparameter Tuning: Analysis of the Black-Box Optimization Challenge 2020 (2021, methodology): “In this challenge we use the open source package Bayesmark (Turner, 2019) to execute all the experiments inside a Docker container (Boettiger, 2015) and for scoring.”