To put it simply, that will depend on your specific use case and development environment. Docker allows you to deploy applications in isolated environments or “containers”, without the need for a full virtual machine.
However, some development scenarios may require virtualization, such as testing on different operating systems or simulating complex network topologies. In those cases, a hypervisor such as VMware or VirtualBox can be useful.