Since sometimes not everything can be run nicely in a Docker container, this post is for my reference, and anyone who finds it in some google search.
Follow this guide and your VNC dreams will come true:
Then connect through an SSH tunnel, or else the internet will come for you:
ssh -NC user@your_server_hostname_or_ip -L 9001:localhost:5901
Then connect to localhost:9001 using whatever VNC viewer, and you should be good to go.
The linked guide above worked for me on 2016.01.17