Docker supports building and running software in components that can be easily distributed and managed. The platform also lends itself to development environments, where source control, build servers, build agents, and test agents can all be run in Docker containers from standard images.
Using Docker for development lets you consolidate many projects in a single set of hardware while maintaining isolation. You could have services running a Git server and an image registry with high availability in Docker Swarm, shared by many projects. Each project could have a dedicated build server configured with their own pipeline and their own build setup, running in a lightweight Docker container.
Setting up a new project in this environment is simply a case of creating a new repository in the source control repository and a new namespace...