Think about it as a very lightweight VM. You can do everything you can in a VM (which, in turn, can do everything you can in your regular system). Only thing is, it is a wrapper over lxc (Linux Containers) which means that you can only run Linux flavors and the host needs to have an advanced kernel (~3.8). Advantage is that if a VM needs ~80s to boot, a docker container can boot in <2s. And that's possible because a docker container shares the kernel of the host, (unlike VMs, which are all isolated)