Docker can remove a lot of the friction in the typical developer workflow process and significantly reduce the time spent on overhead tasks, such as dependency management and environment configuration. When developers run the changes they're working on using the exact same application platform where the final product will run, there are far fewer opportunities for deployment mistakes, and the upgrade path is straightforward and well understood.
Running your application in a container during development adds another layer to your development environment. You'll be working with different types of assets such as Dockerfiles and Compose files and that experience is much improved if your IDE supports these file types. Also there's a new runtime between the IDE and your app, so the debugging experience will be different. You may need to change your workflow to make the most of the platform benefits.
In this chapter, I'll look at the...