Initial Docker support

Staging ground for Docker support. I will merge when ready!