We are going to install a bunch of tools that, as a Sysadmin in 2020 for Windows or Linux, well... you NEED to be using these tools from here on out otherwise you will have a serious knowledge deficit.

Here is the short list:

  1. Windows Terminal
  2. Visual Studio Code
  3. Windows Subsystem for Linux version 2 (WSL 2)
  4. Docker Desktop for Windows (using WSL 2)

First, update Windows 10 to the latest and greatest version. At the time of this writing build 2004 (April, 2020) is what you need to be running. You need this version because WSL2 is generally available in this release. Seriously, just update. You can thank me later.

Next, remove all other Hypervisors like Oracle VirtualBox or VMware Workstation. WSL2 requires the built-in Hyper-V so no other hypervisors can co-exist. Once you start working with Docker you'll understand why you won't want to work a great deal with Vagrant boxes or virtual machines anymore anyways. Also go ahead and remove Docker Desktop for Windows if it is installed (we will re-install it later).

Windows Terminal

Lets install the new Windows Terminal first!

There are multiple ways to install it on your workstation. The Github project page has all of the available installation methods listed.

The new Windows Terminal and the original Windows console host, all in the same place! - microsoft/terminal

Visual Studio Code

Download and install VS Code from here: https://code.visualstudio.com/Download


Now it is time to enable WSL 2.

  1. Open Powershell as an admin. Run this...
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. Then enable the virtual machine feature by running this...

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. Download and run the WSL2 Kernel update package from here:  https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

4. Set WLS2 as the default version. Run this from Powershell...

wsl --set-default-version 2

5. Download your preferred Linux distros from the Microsoft Store in Windows 10: https://aka.ms/wslstore...

6. Reboot! Yeah seriously – reboot right now because the next step won't work until the virtual platform is fully enabled.

7. Optional final step - Make sure that any of your already installed Linux distros are running with WSL version 2. Skip this step if you haven't installed any before.

To check, after your workstation is back online execute this from Powershell...

wsl --list --verbose

For anything that has '1', you will want to upgrade it to WSL 2. Here is an example...

We can see the version is '1' To upgrade, just execute this...

wsl --set-version <distribution name> <versionNumber>

So for my example, I ran this...

wsl --set-version Ubuntu 2

And here is the output...

Conversion complete = Success

Gravy :)

Docker Desktop for Windows

Download and install Docker Desktop Stable 2.4 or newer: https://docs.docker.com/docker-for-windows/wsl/.

Yes... you can install Docker Desktop Edge if you want. I just prefer the stable releases. Nonetheless, feel free to go nuts.

During installation, make sure the WSL 2 option is enabled.

Make sure you choose to enable WSL 2 during install!

Docker doesn't automatically start for the first time, so launch Docker Desktop and when it starts up run, run through the tutorial if you want then check the settings and verify that WSL 2 is being used.

Make sure WSL 2 is enabled!

And finally, make sure under Settings > Resources > WSL Integration that your installed Linux distro is selected.

Enable your Linux distro for WSL integration in Docker Desktop

Your Windows 10 workstation is all set up with WSL 2 and Docker Desktop integration! Download some Docker images, sign into Docker Hub, pretty much do whatever you like at this point.

I recommend starting with Scott Hanselman's blog to learn more about working with Windows Terminal (including how to customize it), dive into the plugins for VS Code, and have fun learning!

-Joey D