Docker on Windows

A simple guide to make Docker work on your Windows PC.

Linux and Mac users love working on Docker, why should Windows get left behind?!

Bhushan Manekar

Since my recently published blog post When Docker meets Make, a few of my mates commented they couldn’t get Docker and GNU Make working on their shiny new Windows PCs. Being a non Windows user, I didn’t have a definitive answer, but suggested trying the Ubuntu app (the one that comes as a ‘Linux Subsystem’ on Windows 10).

It turns out that, whilst it’s cool, this just added another set of challenges in terms of getting Docker working.

So away I went on a learning journey, resulting in this step-by-step guide to help get your favorite tools working on Windows without needing to use Ubuntu Emulator.

A Few Considerations

  • Docker on Windows uses Hyper-V, which might be sad news to people who like to use VirtualBox. Unfortunately, you cannot use both virtualization platforms on same operating system. Therefore be aware once you activate Hyper-V, your VirtualBox will no longer run 64bit VMs.

  • GNU Make is primarily a Linux based tool which is now ported to Windows. So while it will still work, you might notice some inconsistencies.

  • In order to perform tasks mentioned below, you must have Administrator level access to your Windows box.

Let’s Go!


(1) Enable Virtualization

If you have a modern computer you don’t need to worry about this, because VTX Virtualization support should come default with modern processors. However, it’s important to ensure that this feature is enabled in your computer’s BIOS settings which will allow you to enable Hyper-V support on Windows.

How to check BIOS settings? Well, this is different for each computer manufacturer. Usually, pressing a ‘Delete/Del’ key on keyboard at boot time should take you to BIOS configuration.

Once your system comes back up, find an option called ‘Turn Windows Features on or off’ in Control Panel. This should open a window with any extra features provided by Windows. Click the checkbox before ‘Hyper-V’, save the settings and reboot the PC.

(2) Install Package Manager on Windows

Just like apt-get in Ubuntu, yum for CentOS, and homebrew for Mac; there is a package manager called Chocolatey for Windows. Chocolatey makes it easy to install 3rd party tools on Windows just like installing PowerShell modules from PowerShell Gallery.

You can install Chocolatey in one (actually two) simple steps 😃

  1. Start PowerShell as an Administrator
  2. Run the command below

    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    

More installation options can be found here.

Also, whilst not specifically required, in my experience it’s good to reboot your PC after this step.

(3) Install Docker and Make

Now that we have our Chocolatey package managed, installed and ready to use, we can now run choco command in PowerShell to install any 3rd party tools from Chocolatey Packages repository. I would highly recommend removing any pre-installed version of Docker from your PC before proceeding with this step.

  1. Start PowerShell as an Administrator
  2. Run choco install docker-for-windows (follow the prompts, if any).
  3. Run choco install make (follow the prompts, if any).
  4. Reboot your PC.

Ta-da! Now you have the Linux goodness, even in Windows.

Contact us

We will get back to you within 24 hours.