How to install Docker on Windows

To install Docker on Windows, Docker offers Docker Desktop: one installer with the engine, the docker command and a window to manage containers. On Windows 11 and Windows 10 it runs Linux containers inside WSL 2, Microsoft’s lightweight Linux layer. This guide covers what your PC needs, the install, the first container and the errors that stop Docker Desktop from starting.

Check your PC first

  • Windows 11 64-bit, version 23H2 (build 22631) or newer, or Windows 10 22H2 (build 19045). Docker’s page names the Pro, Enterprise and Education editions. On Home and Education only Linux containers run, which is what most projects use. Type winver in Start to see your version.
  • At least 8 GB of RAM and a 64-bit processor with SLAT, which any PC from the last ten years has.
  • Virtualization turned on in the BIOS or UEFI. Open Task Manager, go to Performance › CPU and look for Virtualization: Enabled.
  • WSL version 2.1.5 or later. The next section installs or updates it.

Docker Desktop is free for personal use, education, non-commercial open source projects and small businesses with fewer than 250 employees and less than 10 million US dollars of yearly revenue. Larger companies need a paid subscription for commercial use.

Install or update WSL 2

Right-click Start, choose Terminal (Admin) and run the first command if WSL is not on the PC yet, or the second one to update it. Restart Windows if it asks. The third command shows the version.

wsl --install wsl --update wsl --version

If the version check prints only help text, the PC has the old built-in WSL, which needs the update command above. More about distributions and errors: how to install WSL on Windows.

How to install Docker Desktop on Windows

  1. On docs.docker.com/desktop/setup/install/windows-install click Docker Desktop for Windows - x86_64. PCs with an Arm processor have their own build on the same page.
  2. Run Docker Desktop Installer.exe. The installer offers a per-user install by default, which needs no administrator rights. Choose the install for all users only if you need Windows containers.
  3. On the Configuration page keep Per-user installation (Recommended): it uses the WSL 2 backend. Under All-users installation, Use WSL 2 instead of Hyper-V stays ticked too. Click OK, and when it is done, click Close.
The Docker Desktop installer on the Configuration page with Per-user installation (Recommended) selected
  1. Open Docker Desktop from Start and click Accept on the Docker Subscription Service Agreement: Docker Desktop doesn’t run until you accept it. Signing in to a Docker account is optional.

With winget in Terminal the installer runs without its windows:

winget install --id Docker.DockerDesktop -e

Run your first container

Wait until Docker Desktop shows that the engine is running, then open a new Terminal. The first command prints the client and server versions, the second downloads a tiny test image and runs it.

docker version docker run hello-world

Look for the line Hello from Docker! in the output: it means the engine pulled an image and started a container. For a real server, try this command, then open http://localhost:8080:

docker run -d -p 8080:80 nginx

Use Docker from Ubuntu in WSL

If you work inside a WSL distribution such as Ubuntu, docker works there too, with the same containers: Docker Desktop turns this on for your default distribution. For another one, go to Settings › Resources › WSL Integration, turn it on and click Apply. Keep the project files inside the Linux file system (~/projects), not under /mnt/c: file access there is much faster.

If Docker Desktop doesn’t start

  • WSL update failed or Docker Desktop requires a newer WSL kernel version: in Terminal as administrator, run: wsl --update Then restart Windows. If the Microsoft Store is blocked on the PC, Docker’s docs say to install the latest WSL .msi from github.com/microsoft/WSL/releases.
  • Docker Desktop says virtualization is not enabled, or WSL shows 0x80370102: turn on virtualization in the BIOS or UEFI (it is often called Intel VT-x, AMD-V or SVM) and check Task Manager › Performance again. Docker also suggests this command in Terminal as administrator: bcdedit /set hypervisorlaunchtype auto Then restart.
  • Docker Desktop - Unexpected WSL error: check WSL alone with: wsl -l -v If that fails too, fix WSL first, see the WSL guide.
  • open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified: the docker command can’t find the engine. Start Docker Desktop and wait until the engine is running.
  • Docker Desktop - Access Denied: with an install for all users, your account must be in the docker-users group. An administrator adds it with: net localgroup docker-users <user> /add Then you sign out of Windows and back in. Docker warns that this group gives admin-level control over the PC.

If you also work on a Mac

MacWashing, System Junk: Xcode junk, user caches, installers and logs found, 22.83 GB ready to be cleaned

System Junk in MacWashing finds the caches of every app it knows, including those hidden inside app data, plus logs, Xcode junk and leftovers of deleted apps. It shows how much each takes and clears them in one go. Anything debatable stays unchecked until you decide.

Free trial · macOS 14 or later

Questions and answers

How do I install Docker on Windows 11?

Install or update WSL, then run the Docker Desktop installer from docs.docker.com with the recommended per-user installation. Check it with: docker run hello-world

Is Docker Desktop free?

Yes for personal use, education, non-commercial open source and companies under 250 employees and 10 million dollars of yearly revenue. Bigger companies pay for a subscription when they use it for work.

Why does Docker Desktop take so much disk space?

Images, containers, volumes and build cache live in a WSL disk file that grows over time. See what takes the space with: docker system df Remove unused data (stopped containers, unused networks, dangling images and build cache) with: docker system prune