What are the primary differences between containerizing an application using Docker versus running it in a traditional virtual machine?