Maintaining different software environments to run multiple web projects is a time-consuming task. Have you ever returned to an old project, only to find that you have to reinstall older versions of software before even starting any work? This problem is compounded by developer environments across the team varying in hardware, OS versions, and development software.
Docker is a virtualisation-like technology which enables you to run software in a fixed environment, but without the speed problems normally associated with a virtual machine. This enables us to specify versions of project dependencies, server software, tooling and operating systems, storing these alongside the project. Any developer can now run any project in the company very easily, reducing setup time, and freeing you up from troubleshooting system configurations.
This talk describes how we have introduced docker and docker-compose at Incuna to package python and front-end projects, saving hours of developer time and stress.