For spinning up a virtual machine vagrant uses virtualbox. It means that you can set up your own environment and install everything you need on that machine mostly through some provisioning scripts.
On the other hand Docker uses images and containers to build your application as an image. An image is basically an instance of your application with all of its setup environment and requirements installed, however it's not a machine.
In order to learn docker and have a certificate in Docker then you can have a look at the following Docker Training Course. If you like to read then you can read the following tutorial on Docker. To watch the free video tutorials on Docker you can visit the below-mentioned website:-