Last Updated on August 27, 2020 by Christopher G Mendla
When trying to update a virtual machine running Ubuntu 18 on a Windows 10 machine I kept running into failures. I thought I’d just go to a fresh install of Ubuntu 20.04 and rebuild my Ruby on Rails development environment. That also failed. I found that the culprit that Docker was running on Windows 10 and there are conflicts between Hyper-V and Virtualbox.
Background
A couple of years back, I set up Oracle Virtualbox in order to have a Rails development environment running Ubuntu. The installation of Virtualbox and Ubuntu 18 was straightforward.
I used that setup to work on a number of projects. A little over two years ago, I took a full time job which left little or no time for sideline rails projects. The Virtualbox/Ubuntu setup gathered dust.
This July I my position fell victim to funding issues related to the Covid shutdowns. As I was repositioning myself for a job search, I wanted to use my personal development environment. As I started try to update Ubuntu 18, I ran into issues. I finally got it to where I could try the upgrade to Ubuntu 20.04. That almost worked but seemed unstable.
My next thought was to create a new virtual machine and then rebuild my development environment. I wasn’t happy about losing my previous customization but decided to try that. That ended up failing as well.
Inspiration
I remembered that I had done some preliminary experimentation with Docker under Windows 10. After some quick research, I found that there can be conflicts with Oracle Virtualbox and running Hyper-V for Docker.
Resolution
I turned off Hyper-V and removed Docker. After that, creating a Ubuntu 20.04 virtual machine under Virtualbox worked.
Alternatives
I had a couple of alternatives.
- Switch to Docker for a Development Environment – I decided against this as I have potential side jobs and my portfolio site that I wanted to work on as quickly as possible.
- Use WSL2 (Windows Subsystem for Linux) – There are posts about running Virtualbox and Docker on the same Windows system using WSL2. – I decided against this as it seemed it might require some time to get it working smoothly.
- Remove Docker and disable Hyper-V – This posed the least tech risk for me so I went this route.
Summary
I lost a couple of hours by not realizing there was a conflict between Virtualbox and Hyper-V. By doing a fresh install of Ubuntu I had to completely rebuild my development environment.
On the other hand, I made mistakes with installing software on my previous VM. With a fresh install, I have a much cleaner installation.
I now have a stable Ruby on Rails development environment. However, at some point in the near future, I would like to revisit installing Docker.