Overview
Docker freezes your environment — OS libraries, Python version, every dependency — into an image that runs identically on any machine. For computational research, a Dockerfile published beside your paper is the difference between ‘should reproduce’ and ‘reproduces’.
Why researchers use it
- True environment capture — system libraries included, not just Python packages
- Reviewer-proof — ‘docker run’ reproduces your analysis on any machine
- Industry standard — skills and images transfer everywhere
Getting started
- Install Docker Desktop (free for education/small orgs) or Engine on Linux.
- Write a Dockerfile: base image, COPY your code, RUN pip install -r requirements.txt.
- docker build, docker run, then publish the image hash in your paper’s repo.
The honest review
Strengths. The ecosystem: prebuilt scientific images (Jupyter, R, CUDA) cover most needs, and every cloud and many journals’ artifact-evaluation tracks speak Docker natively.
Limitations. Requires root/admin — which is exactly why HPC clusters refuse it (use Apptainer there); Docker Desktop licensing applies to large companies; images bloat without care.