The hard part is not running X, but running X and having it display to your hardware. This is a massive distinction. You need to passthrough your graphics device so that X can write to its framebuffer and all that bizzazz, and that's the question you really should be asking. "How do I pass my graphics device / display device into a container".
Check out: https://github.com/pdevine/yoyobrawlah
You can use the run_docker.sh script to get things going. The image is also available on Docker Hub, but you need to pass in things like the dri device to get it working correctly.
https://zwischenzugs.wordpress.com/2015/02/01/win-at-2048-wi...
original link:
https://zwischenzugs.wordpress.com/2014/05/09/docker-shutit-...
https://www.usenix.org/legacy/events/atc10/tech/full_papers/...
I've kicked around the idea of a "workstation" set of containers to run on top of CoreOS, but this is the biggest hump I've run into.