Published on

Environment Reproducibility - Another Good Reason to Containerize All Projects


One of the biggest pain points I often have when looking at a new project is spending most of my time working out how to get the project running on my environment.

This seemingly simple thing is often really painful and is crucial as it blocks further work on the project. It is often down to tools being missing on your environment that the original project maintainers have on theirs but have not documented in any way.

Docker helps amazingly in this case for a few reasons:

  • If you can containerize an app it should be runnable on someone else's machine.
  • If it is not runnable on a new machine the dockerfile can be used as a guide to determine what tools need to be installed to get the project to run.
  • As a worst-case, the app can be run through the container which is better than not being able to run it at all.