If you've spent any time around software development, you've heard the pitch: Docker lets you package an app and everything it needs to run into one portable container. No more "it works on my machine" arguments. On Windows, getting there used to mean wrestling with slow, resource-hungry Hyper-V virtual machines. That's no longer the case. Modern Docker Desktop runs on WSL 2, Microsoft's lightweight Linux subsystem, which means faster startup, lower CPU overhead, and RAM that returns to your system when you're not using it.
This guide walks through the entire installation process, from checking your system to running your first container.
What You Need Before Installing Docker on Windows
Before downloading anything, confirm your machine meets the basics. You'll need:
- Windows 10 64-bit (version 21H2 or later) or Windows 11, on the Home, Pro, Enterprise, or Education edition
- A 64-bit CPU with hardware virtualization enabled (Intel VT-x or AMD-V)
- At least 4 GB of RAM (8 GB is a more comfortable minimum once you're running a few containers alongside your browser and IDE)
- 6 GB of free disk space
- An administrator account, since the installer needs to register a Windows service and add your user to the docker-users group
To check whether virtualization is already turned on, open Task Manager (Ctrl+Shift+Esc), click the Performance tab, and select CPU. You'll see "Virtualization: Enabled" or "Disabled" in the lower right. If it's disabled, you'll need to reboot into your motherboard's firmware settings and turn it on — the key to enter varies by manufacturer, but F1, F2, or Delete during boot covers most business laptops and desktops. Look for a setting called Intel Virtualization Technology or AMD SVM Mode, enable it, then save and exit.
Step 1: Enable WSL 2
Docker Desktop uses WSL 2 as its backend by default, so this needs to be set up first.
Open PowerShell as Administrator and run:
wsl --install
This installs the Virtual Machine Platform, the Windows Subsystem for Linux, and a default Linux distribution. If your machine already has WSL installed from a previous project, run wsl --update instead to bring it current. Either way, you'll need to restart your computer once the command finishes.
One thing worth knowing: you don't actually need to use the Linux distribution WSL installs. Docker Desktop creates its own dedicated distros behind the scenes — one for the engine and one for data storage — so the visible Ubuntu install is just there to satisfy the WSL 2 requirement.
Step 2: Download Docker Desktop
Head to Docker's official site and download the installer for Windows — choose x64 for a standard Intel or AMD machine, or ARM64 if you're on a Snapdragon-based device like a Surface. The download is a code-signed .exe, roughly 600 MB.
Before running it, it's worth a quick verification: right-click the installer, choose Properties, and check the Digital Signatures tab. The signer should be Docker Inc., and the signature should show as valid. If anything looks off, or if you landed on a page that redirected you somewhere unfamiliar, close it and re-download from the source you trust.
Step 3: Run the Installer
Launch the .exe and follow the prompts. During setup, you'll see a checkbox for "Use WSL 2 instead of Hyper-V" — make sure it's selected, since this is what gives you the faster, lighter-weight backend described earlier. The installer handles the rest: registering the Windows service, setting up permissions, and configuring the Docker CLI.
Once it finishes, restart your machine if prompted. On first launch, Docker Desktop will download the latest WSL 2 kernel if it isn't already present, and it'll spin up a small Linux virtual machine to run the engine.
Step 4: Verify the Installation
Open Docker Desktop and confirm the whale icon in your system tray settles into a steady state rather than an animated "starting" icon. Then open a terminal — PowerShell, Command Prompt, or a WSL shell all work — and run:
docker --version
You should see a version number printed back. Next, run the classic test:
docker run hello-world
Docker will pull a small test image and run it. If everything's working, you'll get a message confirming your installation is functioning correctly. That's it — Docker is installed and ready.
Common Installation Issues
A few problems come up often enough to mention:
- "WSL 2 installation is incomplete" error: Usually means the Linux kernel update didn't finish. Running
wsl --updateand restarting typically resolves it. - Virtualization not enabled: If Docker Desktop won't start and Task Manager shows virtualization as disabled, you'll need to enable it in your BIOS/UEFI as described above.
- Docker Desktop stuck on "Starting": Try running
wsl --shutdownin PowerShell, then relaunch Docker Desktop. This forces WSL to restart cleanly.
What's Next
With Docker installed, the natural next step is pulling an image from Docker Hub and running your first real container — something like an Nginx server or a Postgres database is a good low-stakes way to get familiar with the workflow. If you're setting this up for a memory-constrained machine, you can also cap how much RAM the WSL 2 VM is allowed to use by editing the .wslconfig file in your user folder, which is worth doing before you start running multiple containers at once.
The setup process looks like a lot of steps written out, but in practice it's about fifteen minutes from download to your first successful container run — and it's a one-time task. Once it's done, spinning up new environments becomes as simple as a single docker run command.

