DEV Community

Discussion on: Containerize your Dev environment! Forget about painful project setup. (Beginner friendly)

Collapse
 
satellitebots profile image
Adnan Alam • Edited

VM is a lot bulkier, I've run into performance issues with VM on a beefy laptop. The key benefit here is you can manage your configuration for the stuff you actually need as code. It is reproducible and easily portable. You are pulling down a Dockerfile here and now you can get your entire team setup with this. Now imagine having to download a couple GB of VM image (this blows out of proportion when you are talking about updates which you inevitably need) and then the pain of figuring out any issues a dev might have on their machine. Overall, VM is good in certain cases when security is a big concern, and you don't trust what the guest might be doing. However, we don't really need that kind of protection for day to day development. So, you trade in that extra layer of security for performance. This is the same reason you would prefer to deploy your apps as a container vs a VM.

The biggest thing here is you are using the display server of your host, so that's another reason this is so lean. You aren't necessarily bringing in display drivers, rather using whatever your host has. Plus you don't even bring in a kernel, you are using the host kernel.