The "--device" flag allows you to map devices through to a Docker container. It runs in 'privileged' mode though, so isn't suitable for a shared host.
Nvidia make it pretty straight-forward now but we had to branch from that approach a bit for the CoreOS deployment.
https://github.com/NVIDIA/nvidia-docker (Nice pictures)
https://docs.docker.com/engine/reference/run/ (Docker documentation, search for 'privileged')
The approach is a bit different depending on your host operating system. You'll also find there are constraints when you introduce a virtualisation layer, like virtualbox or parallels on your desktop - GPUs can be mapped through, but it's painful(ish).