💾 Archived View for gmi.runtimeterror.dev › docker-on-windows-10-with-wsl2 › index.gmi captured on 2024-05-26 at 14:48:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-10)

➡️ Next capture (2024-07-09)

-=-=-=-=-=-=-

💻 [runtimeterror $]

2020-09-22

Docker on Windows 10 with WSL2

Microsoft's Windows Subsystem for Linux (WSL) 2 was recently updated [1] to bring support for less-bleeding-edge Windows 10 versions (like 1903 and 1909). WSL2 is a big improvement over the first iteration (particularly with better Docker support [2]) so I was really looking forward to getting WSL2 loaded up on my work laptop.

[1] was recently updated

[2] better Docker support

Here's how.

WSL2

Step Zero: Prereqs

You'll need Windows 10 1903 build 18362 or newer (on x64). You can check by running `ver` from a Command Prompt:

ver 
Microsoft Windows [Version 10.0.18363.1082] 

We're interested in that third set of numbers. 18363 is bigger than 18362 so we're good to go!

Step One: Enable the WSL feature

You can do this by dropping the following into an elevated Powershell prompt:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 

Step Two: Enable the Virtual Machine Platform feature

Drop this in an elevated Powershell:

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

And then reboot (this is still Windows, after all).

Step Three: Install the WSL2 kernel update package

Download it from here [3], and double-click the downloaded file to install it.

[3] here

Step Four: Set WSL2 as your default

Open a Powershell window and run:

wsl --set-default-version 2 

Step Five: Install a Linux distro, or upgrade an existing one

If you're brand new to this WSL thing, head over to the Microsoft Store [4] and download your favorite Linux distribution. Once it's installed, launch it and you'll be prompted to set up a Linux username and password.

[4] Microsoft Store

If you've already got a WSL1 distro installed, first run `wsl -l -v` in Powershell to make sure you know the distro name:

wsl -l -v 
  NAME      STATE           VERSION 

And then upgrade the distro to WSL2 with `wsl --set-version <distro_name> 2`:

PS C:\Users\jbowdre> wsl --set-version Debian 2 
Conversion in progress, this may take a few minutes... 

Cool!

Docker

Step One: Download

Download Docker Desktop for Windows from here [5], making sure to grab the "Edge" version since it includes support for the backported WSL2 bits.

[5] here

Step Two: Install

Run the installer, and make sure to tick the box for installing the WSL2 engine.

Step Three: Configure Docker Desktop

Launch Docker Desktop from the Start menu, and you should be presented with this friendly prompt:

Image: Great news! We're supported.

Hit that big friendly "gimme WSL2" button. Then open the Docker Settings from the system tray, and make sure that **General > Use the WSL 2 based engine** is enabled. Now navigate to **Resources > WSL Integration**, confirm that **Enable integration with my default WSL distro** is enabled as well. Smash the "Apply & Restart" button if you've made any changes.

Test it!

Fire up a WSL session and confirm that everything is working with `docker run hello-world`:

Image: Hello, world!

It's beautiful!

---

📧 Reply by email

Related articles

Self-Hosted Gemini Capsule with gempost and GitHub Actions

Publish Services with Cloudflare Tunnel

Tailscale Serve in a Docker Compose Sidecar

---

Home

This page on the big web