Do I need to build a single Docker image for my entire analysis? What if pieces are incompatible?

The way RECAST is designed allow for each step of your analysis to have a separate container image. That is, if e.g. your event selection code and your analysis require different ROOT versions, you can easily built separate container images tailored for each step. In the workflow definition you can then specify the required image for each step.