Often, when developing applications with a microservice architecture, you cannot fully test service until you deploy to a staging server. This feedback loop is too long. Docker helps to speed up this process by making it easier to link together small, independent components locally. The Docker environment created fresh and seeded with data for each test run and then completely destroyed afterwards. This style of testing is faster, more reliable, repeatable and consistent. It runs as part of the CI build, allowing breakages to fail a build and provide fast feedback.