The biggest problem seems to be the slow disk performance when working with volumes. At least in personal projects I could make this fast by making use of Docker's caching in creative ways. E.g. first copying the package deps, installing them and afterwards copying the (often changing) source. Also sometimes when a volume is needed it can be enough to make it a single file volume.