This depends on the tradeoffs you want to make. In ideal world, you would want to automate a docker build for every branch for testing. If that takes too much time, then you might want to design a base image to start with.
Still, there is nothing wrong ignoring docker but let build without it. At that point, you would take more responsibility at master branch build.
Docker is simply there for pushing system configuration efforts to the developer but you can make best of the both worlds by providing a good base image and building for every branch. Even you do it from scratch, Docker's internal caching will save you acceptable amount of time in the same testing environment.