For many years in a row I used to have a VirtualBox machine where I concentrated all my development tools.
But now with Windows 10 much more stable than previous versions and docker fully available to create development containers, I decided to switch back to Windows + WLS (Windows Linux Subsystem) + Docker for my development stack.
I can keep most of the environment configuration in a version control system and in case I need to change to another machine, it would not be so time consuming.
Docker on Windows requires you to enable Hyper-V, that is a virtualization platform include in Windows. When you install Docker on Windows it will ask you to do so and warn that your VirtualBox virtual machines will stop working.
![Docker complaining that Hyper-V feature is not enabled Docker complaining that Hyper-V feature is not enabled](/docker-virtualbox-on-windows-10/windows-10-docker-hyper-v-enable-warning-main.jpg)
The problem is that I needed to have both in order to do the transition. I need to be sure that I ported all services that I had in the virtual machine to the Windows Linux Subsystem.
You can install Docker Toolbox in order to run both at the same time or take a different path: enable and disable Hyper-V when you need each technology!
I decided to follow the former.
To use Docker, enable Hyper-V
# Run from elevated prompt (admin privileges)
bcdedit /set hypervisorlaunchtype auto
To use VirtualBox again: disable Hyper-V.
# Run from elevated prompt (admin privileges)
bcdedit /set hypervisorlaunchtype off
Unfortunately, you’ll need to reboot your machine every time you run this command.