Oct 102019

(Or, as it's commonly known, yak shaving.)

In this case, to be able to use a Docker image, the easy way to install software (I'm told). But, of course, technology has a habit of throwing curve balls. Or, as here, demanding items that you may not have.

Step One: Checking the requirements for Docker reveals that, if you're using Windows, you need a Windows 10 Pro installation, not Windows 10 Home. There is, however, a Docker Toolbox option for Windows 10 Home. The requirement for Docker Toolbox includes virtualization being enabled. (There's a link to a tool to check this.) My Windows PC, a couple of years old, has that virtualization, but it's disabled.

The wording on the Docker Toolbox page makes it sound like using the full Docker Desktop would be preferable, so I decided to check out that option. Microsoft does make it easy to spend the money to upgrade to Windows 10 Pro (there's a link in the Settings app under About with the word "Upgrade"), but the requirements for Docker Desktop include support for something called "Second Level Address Translation (SLAT)", which seems to be called something different anywhere you might want to check it. In the Windows system information (systeminfo) it's called Hyper-V, for example, and checking it reveals that in my system it's supported, but not enabled.

Step two: Enable virtualization; this requires a reboot and change to the system BIOS settings. This page on how to access the BIOS on Windows 10 was useful. Once enabled, everything seems good to go, and from there I decided to try out the toolbox first, and think about the larger upgrade later. I'm not crazy about potentially breaking working systems if I can avoid it, and past Windows upgrades have made me cautious.

Step three: Install Docker Toolbox, which went smoothly enough. But the program I was trying to run had issues with port mapping. A possible cause is something in the Docker system not talking to the Windows system in the expected way, so it looks like I will need the full Docker Desktop after all. Which means upgrading Windows.

Step four: Delete Docker Toolbox from the system to make sure there are no weird interactions.

Step five: Sign up for a Microsoft account, so that I can buy Windows 10 Pro.

Step six: Install Windows 10 Pro as an upgrade to Windows 10 Home. This went much faster than I expected and apparently didn't break anything either.

Step seven: Install Docker Desktop and repeat all the software-dependent installation steps.

Success! The port mapping works, and the required software installed.

Technology is great, except when it isn't. But Windows 10 is much better than previous versions of Windows.

/* ]]> */