Solved: Docker desktop requires a newer WSL kernel version on Windows

Dilshara Hetti Arachchige
3 min readMay 21, 2023

The integration of Docker with Windows Subsystem for Linux (WSL) has revolutionized the way developers work on Windows machines. However, encountering compatibility issues can be frustrating. One such issue arises when Docker Desktop requires a newer WSL kernel version than the one currently installed on your Windows system.

Using Docker in Windows for Linux Subsystems

WSL, is a compatibility layer that allows running Linux distributions natively on Windows. It provides developers with a Linux environment, complete with a command-line interface and the ability to run Linux tools and applications. WSL bridges the gap between Windows and Linux, enabling developers to work with Linux-based tools and workflows without needing a separate Linux machine or virtual machine.

WSL Kernal Version Update

The specific problem arises when Docker Desktop requires a newer WSL kernel version than the one currently installed on a Windows system. Docker relies on certain features and functionalities provided by the WSL kernel, and if the version is outdated, it can result in compatibility issues and prevent Docker from running properly.

This requirement for a newer WSL kernel version can be challenging for users who have not updated their Windows system or are using an older version of WSL. However, with the right steps, it is possible to overcome this problem and ensure smooth integration between Docker and WSL on Windows.

  1. Identify the current WSL version

Open a command prompt or PowerShell window as Adminstrator. You can do this by pressing the Windows key, typing “cmd” or “PowerShell,” and selecting the corresponding application.

wsl -l -v

The version number typically consists of major and minor version components. For example, it might be displayed as “1” or “1.0”.

Note: If the version is displayed as “1” or “1.0”, it indicates that you are using the first generation of WSL, which may not be compatible with the newer requirements of Docker Desktop.

2. Open Windows Features

Once you open Windows features, make sure “Virtual Machine Platform”, “Windows Hypervisor” and “Windows Subsystem for Linux” are checked. If not, tick them and press “Apply”

3. Open Powershell as Administrator

You must open Powershell as Administrator, as if not would trigger a permission error. In the PowerShell, run the following command to enable WSL-1

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

4. Download WSL-2 from Microsoft Documentation

Use the link below to download the package given and run the application on your computer

5. Change the WSL 2 to your Default version

Run the below command to change the default version to WSL 2

wsl --set-default-version 2

Now you are good to go! Happy coding.

--

--

Dilshara Hetti Arachchige

Software/Product Engineer who loves to build AI-Driven Solutions