Docker does have inconsistencies and issues, but those inconsistencies usually affect the person who builds the image vs the person who runs it. Someone who has to run a docker image will generally have a much easier time than someone who gets a requirements.txt file and has to install everything in it.
I also haven't had any issues with matplotlib in virtualenvs, might be platform-specific, though.