The companies I've worked at have a "docker team" that does all of that, so everyone else can just write code. Continuous integration is enough to identify if there is a bug on Linux that isn't on OSX, but sometimes you just gotta SSH into a Linux box and build there to figure it out.
Requiring docker from the get go sounds painful, but maybe that just comes from my inexperience never having to use it. Like, does CLion, PyCharm, and similar even support building into docker from the get go? Wouldn't that increase build times instead of just building it natively on your machine? Any extra level of complexity is painful until you automate it in a bug free and efficient way, I suppose.