Docker role

Fixes #1207
Depends on #1238
I think this needs its own commit with a bit of explanation?