I understand that the docker daemon requires to runs as root so I'm told this can cause some security implications such as if the container were compromised, attackers can make changes to the host's system files.
What precautions can I take to mitigate damage in the case of an attack?
Is there a practice that I should be aware when running the docker daemon? I've thought about having a vagrant to up a vm and have docker run in the vm instead.
The main source of information regarding docker security practice is the page on "Docker security".
If you expose the REST API, you should do so over https.
Regarding the VM, see "Are Docker containers really secure?"