Docker has been widely touted as a game changer for running code in production. People have been quick to praise it's novel approach to packaging system dependencies and code together, making replicable environments between machines a trivial task.
This same replicable nature and approach to managing systems dependencies make this tool indispensable on a Developer's local machine.
Development environments can make the daily life of a Developer heaven or hell and directly influence the productivity of the whole team unit. An unobtrusive environment that allows Developers to choose the tools they like to use is a pleasure to work with. When you combine this with a simple provisioning solution that gets your new hires up and running fast, you're letting people focus on the code first.
I've had the pleasure of working on some fantastic Development teams during the course of my career, and I'd like to walk you through a fictional Django project, that leverages containers to implement many of the efficiencies these teams enjoyed.
I'm a freelance systems developer and cloud architect, based in Toronto. I love helping development teams get their code into prod safely, and turning wild Linux jungles, into neat config managed gardens.