Cuban here, I also lived in Russia several months and my wife is Russian. Cuba is well below Russia (and of course North Corea) in terms of oppression. Marco Rubio never lived in Cuba and only reflects the feelings of the previous generation of Cuban that emigrated to Miami when Castro took the power. This is understandable as Castro took many of their properties but has nothing to do with how cubans from 2015 feel. This can be easily seen when you note that he spoke against the Cuba-US relationship improvement recently introduced by Obama which is clearly something most of cuban supported.
My wife lived in Cuba from when she was born up until 2005 when her grandmother was finally able to get a family reclamation to go through. She knows many who were thrown in jail just for being associated with people who the government was "unhappy with". I would agree it's not as bad as North Korea, maybe my opinion of Russia is too high.
I never knew anybody who went to jail for speaking against the government neither directly heard such a story but I can believe that happens(journalist Yoanis Sanchez is an example). This is the way I see it, the government normally don't care much about this people or what they think/say, except when they try to do something that could affect their public image, for example if the Pope comes to visit and they want to organize a public protest. In this circunstances they are preventively sent to jail, and afterwards released when the visitor is gone. It is often the case that real criminals present themselves as "politic prisoners", that adds much noise to the whole situation and usually gets exaggerated by the media in Miami. While this is not ok, in Russia people actually get killed in similar circumstances, while the main opposition leaders in Cuba are all alive.
Docker doesn't directly do cross-platform: the Docker API is the Linux kernel userspace API. If you want to run Dockerized apps on OS X or Windows, then you're using boot2docker, which is a distribution of Linux running inside a VM.
So most of the question is whether you're happy with this as a distribution mechanism. The best you'll be able to do is something like VMware's Unity mode, which isn't bad, but isn't good either. Alternatively, you could run an X11 server on Windows (via Cygwin) and OS X (Xdarwin), but that's also going to look very non-native.
If you're not, then there's an open technical problem of how to make it look reasonable. I'd consider whether browser-based desktop apps are an option: you can require a recent Chrome or Firefox, come up with three common launchers for each platform (think PhoneGap), and then run the Linux backend inside a VM on Windows and OS X. But that seriously restricts the set of apps that are in scope, and at that point, you might also try just building a cross-platform backend (using Go, maybe?).