DEV Community

Discussion on: Developing on Windows: Docker, Linux VM, WSL or Cygwin?

gazzonyx profile image
Scott Lovenberg

I use a Fedora Linux desktop VM for development. Formatted as VMDK, I can run under just about any virtualization or containerization platform with at most a format change of the disk image, by using virtualbox's dish format utilities to change from VMDK to raw or others. Virtual box, VMware player, VMware server, etc. are available for Linux, Mac and Windows. That means I also backup my Dev desktop by simply copying the file and compressing it. Inside the VM I can run libvirt with docker, lxc, vagrant, and what have you with hardware support for nested virtualization. Also, it makes upgrades of my Dev machine a snap. Whichever platform I'm on, I start up the VM on login and see it to full screen on all screens. It's seamless, maintainable, easy, and works everywhere.

Also, it gives me the ability to snapshot clean builds after I add my timing and after Dev stack upgrades that could go sideways. Never again do I have to completely uninstall and reinstall Ruby after a "yum upgrade" borks my build. Try it, you'll thank me. ;)