How to install Docker Desktop without hardware virtualization

Last update: 08/01/2026
Author Isaac
  • Docker Desktop on Windows relies on virtualization (Hyper-V or WSL2) to provide a kernel Linux and run containers.
  • WSL2 allows you to install Docker Engine directly within a Linux distro, avoiding Docker Desktop when a GUI is not needed.
  • In Windows Pro/Enterprise, Hyper-V can be used as an alternative backend for Docker Desktop and other virtual machines.
  • Without virtualization support hardware The options for using Docker Desktop are reduced to remote solutions or other equipment.

Docker Desktop Guide without Hardware Virtualization

Installing and using Docker Desktop on Windows when you don't have active hardware virtualization (or your CPU or your BIOSIt might seem like an impossible mission, especially if you've watched dozens of tutorials that assume you have Hyper-V or WSL2 up and running. But there are more nuances: Windows containers, Linux containers, WSL2, Hyper-V, classic virtual machines… and each combination has its own limitations.

In this guide we will calmly but directly break down what can and cannot be done with Docker Desktop without hardware virtualization.What real alternatives do you have for running containers on Windows, how to leverage WSL2 and "pure" Docker Engine to avoid Docker Desktop when necessary, and what Tricks You can apply to develop with containers comfortably using VS Code, even on modest equipment.

Containers, Docker Desktop, and Docker Engine: Key Concepts

Before discussing virtualization requirements, some basic concepts need to be clear.because what you'll be able to do on your machine depends on them:

A container is not exactly a virtual machine.It shares the kernel with the host system and isolates processes, libraries, and the file system. That's why Linux containers use the host's Linux kernel, and Windows containers use the host's Windows kernel, unless you add a virtualization layer in between.

docker-engine It is the "real" engine of Docker, the service that creates, manages, and runs containers. It runs natively on Linux and is managed via command line. commands And it's completely free, with no usage limits, designed for both development and production.

Docker Desktop is a desktop application which includes Docker Engine plus a graphical interface, Kubernetes integration, development tools, a resource panel, easy configuration, etc. On Windows and macOS, it always relies on some form of virtualization to provide a Linux environment where the containers will live.

The big difference between Linux and Windows The fact is that, on Linux, Docker Engine can run directly on the kernel without a virtual machine in between, while on Windows and macOS Docker Desktop uses a hidden Linux VM, either relying on WSL2 or Hyper-V, which implies needing hardware-level virtualization.

Finally, Windows containers They can run in two modes: process isolation (sharing the host's Windows kernel) or Hyper-V-style isolation (each container runs inside a mini-VM). In practice, for most modern scenarios with Docker Desktop on Windows, virtualization is ultimately used in one form or another.

Can Windows containers be run without Hyper-V?

Windows containers and virtualization requirements

The typical question is whether it's possible to run "pure" Windows containers without Hyper-VThis is achieved by using only the host Windows kernel in process isolation mode, thus avoiding hardware virtualization. In theory, process isolation allows exactly that: using the same kernel without a hypervisor in between.

The practical problem is that most scenarios supported by Docker Desktop and modern versions of Windows They are designed to work with Hyper-V and/or WSL2 enabled. Even when using Windows containers, Docker Desktop relies heavily on Microsoft's virtualization infrastructure.

Trying to run Windows containers without any virtualization It leads you down a very restrictive path: you depend on very specific versions of Windows Server or Windows 10/11, you need specific features enabled, and even then, the experience is fragile, complex to configure, and far removed from what standard Docker Desktop offers.

Additionally, projects such as running Docker for Windows on Wine in Linux They run up against a rather harsh reality: Docker Desktop and the Docker engine on Windows expect to be able to communicate with virtualization layers and very specific system APIs. Wine doesn't reliably implement all of that, so this idea is more of a theoretical experiment than a usable solution.

Practical conclusion at this point: if your goal is Windows containers on a modern Windows hostSooner or later, you'll need virtualization (Hyper-V or WSL2) for a functional and supported experience. Without it, everything becomes very limited workarounds.

Options if you need Docker on Windows without relying on Docker Desktop

Alternatives to Docker Desktop on Windows

If, for whatever reason, you want or need to avoid Docker Desktop on a Windows hostYou have several reasonable alternatives depending on your hardware and the version of Windows you are using.

The most classic option is to create a Linux virtual machine Using tools like VMware Workstation, Oracle VirtualBox, or Microsoft's own Hyper-V, you can install a Linux distribution and set up Docker Engine within it. However, all these solutions still require hardware virtualization enabled in the BIOS.

  How to Update Windows Media Player

VMware and VirtualBox They work well, but they belong to companies with questionable business practices and somewhat high resource costs. Even so, they are very mature solutions, with user-friendly management interfaces and tons of documentation and tutorials available online.

Hyper-V It comes integrated with Windows (Pro editions and higher), is free, and very robust. It allows you to create lightweight virtual machines where you can deploy Linux and, within it, Docker Engine. It's a very attractive option if you already have Windows Pro or Enterprise and want a fairly "official" environment without installing third-party software.

The simplest alternative for most home users and developers today It involves using WSL2 (Windows Subsystem for Linux 2) and running Docker Engine directly within the Linux distribution. This way, you can completely forget about Docker Desktop if you want, work from the Linux command line, and continue using your Windows tools.

Installing and preparing WSL2 on Windows 10 and Windows 11

WSL2 has become the recommended method by Microsoft and Docker to work with Linux containers on Windows, both on Windows 10 and on Windows 11It offers a real Linux kernel packaged in a small, optimized VM and integrates very well with the system.

First, check that your version of Windows is compatible. Press WIN+R, writes winver and check the data:

  • Windows 10 It must be, at a minimum, version 1903 with build 18362.1049 or higher.
  • Windows 11 It is compatible with all current versions.

Next, check if hardware virtualization is enabled.. Open the Task Manager, go to the tab Unlimited, Select CPU And look at the information block: it should say “Virtualization: enabled”.

If it appears as disabled and your CPU supports virtualizationYou will need to enter the UEFI/BIOS of your motherboard and enable the virtualization options (Intel VT-x, AMD-V, or similar). If your processor is very old or the manufacturer has blocked it, this will be your physical limit.

To enable WSL2 features on Windows, press WIN+R, writes optionalfeatures And in the features window, check these two entries:

  • Virtual Machine Platform
  • Windows Subsystem for Linux

Let Windows download and install the necessary components.When finished, it will ask you to restart. Do so, because without this restart WSL2 will not be applied correctly.

When the system restarts, open a Symbol of the system with administrator permissions (search for “Command Prompt” in the Start menu > right-click > Run as administrator) and run:

wsl --set-default-version 2

Then it updates the WSL2 kernel to the latest version available with:

wsl --update --web-download

To see which Linux distributions you can install, list the ones available online:

wsl --list --online

The general recommendation for starters It's about using a recent Ubuntu LTS version.because most documentation and examples are based on it. For example, to install Ubuntu 24.04 LTS:

wsl --install --web-download --distribution Ubuntu-24.04

When the distro installation is complete, a window will automatically open terminal It will ask you to create a username and password for that Linux system. Choose secure credentials; ideally, they shouldn't match your Windows account.

If you want to optimize the space occupied by the distro's virtual disk,You can configure it as "sparse" (dynamic) from the Windows command prompt:

wsl --manage Ubuntu-24.04 --set-sparse true

From this point on you have a complete Linux environment running “inside” WindowsYou can access it at any time by running wsl from CMD, PowerShell or using Windows Terminal, which will also create profiles for each installed distro.

Install Docker Engine on WSL2 without Docker Desktop

With the Linux distro running under WSL2, the next step is to install Docker Engine directly thereThis avoids the additional Docker Desktop layer. This gives you near-native performance and, in many cases, simplifies things if you don't need the graphical interface.

Boot your Ubuntu in WSL2 and update the package list first to make sure everything is up to date:

sudo apt-get update

Install the basic dependencies to work with HTTPS repositories and manage third-party GPG keys:

sudo apt-get install ca-certificates curl

Create the directory where you will store the GPG key for the official Docker repository and download the key:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the official Docker repository for Ubuntu using your system's architecture and codename:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Update the repositories again now that you've added the Docker source and install the engine with your tools:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

To avoid always having to use sudo with Docker commandsAdd your Linux user to the group docker:

sudo usermod -aG docker $USER

Log out of the distro and log back in (or close the WSL window and reopen it) for the group changes to take effect. If everything went well, you should be able to run:

  How to use Microsoft Flow to automate repetitive tasks and save time

docker info
docker run --rm hello-world

If you see the Docker welcome message, you already have your Linux container environment up and running on WSL2.completely independent of Docker Desktop and with very low resource consumption.

Use Docker Desktop with WSL2 backend instead of Hyper-V

If you prefer a more "desktop" experience, with a graphical interface and wizardsYou can continue using Docker Desktop but specify that it uses WSL2 as the backend instead of Hyper-V. This is especially useful on Windows 10 Home, where full Hyper-V is not available.

Download Docker Desktop from the official Docker website and run the installer. During the process, if your system supports both, it will ask if you want to use WSL2 or Hyper-V. In most development scenarios, the recommendation is to select WSL2.

Once installed, launch Docker Desktop from the Start menu.When the Docker icon appears in the system tray (it might be in the hidden icons menu), right-click it and enter... Settings.

In the General section of the settings, make sure the “Use the WSL 2 based engine” checkbox is selected.because it is the one that tells Docker Desktop to rely on WSL2 to run Linux containers.

Within Settings > Resources > WSL IntegrationYou'll see a list of installed WSL2 distributions. Enable integration for the ones where you want to use Docker (for example, your Ubuntu 24.04). From then on, you'll be able to launch containers from that distribution using the Docker Engine managed by Docker Desktop.

To confirm that everything is in order, open a terminal in your WSL distro. and runs:

docker --version
docker run hello-world

If the test container runs without issues, you have Docker Desktop working with a WSL2 backend.This allows you to combine a graphical interface, easy image management, and the reasonably good performance of WSL2.

Hyper-V as a virtualization alternative for Docker Desktop

On systems with Windows 10/11 Pro or Enterprise and available hardware virtualizationAnother option is to let Docker Desktop use Hyper-V directly as the virtualization engine for your internal Linux virtual machine.

Hyper-V is Microsoft's native hypervisorIt is available on both Windows Server and professional editions of desktop Windows. For Docker, it acts as a host for a lightweight VM on which the Docker Engine and the entire container stack run.

To enable Hyper-V, return to the Windows features panel. (Control Panel > Programs > Programs and Features > Turn Windows features on or off) and check the box Hyper-VIf prompted, have the ISO file handy or let Windows download the components.

After restarting, download and install Docker Desktop for Windows.During the wizard, uncheck the option to use WSL2 as the backend and leave the use of Hyper-V enabled. The installer will create the Docker VM on Hyper-V and configure the necessary services.

When you restart and start Docker DesktopLog in with your Docker account (free for personal and small business use) and complete the short welcome questionnaire. If there are any errors Boot For the engine, check that Hyper-V is properly enabled and that you are not inside another virtual machine without nested virtualization.

From the Docker Desktop interface you can see the CPU and memory usage of your containersDownload images from the Hub, launch containers from the integrated search, and generally tinker with it without hardly touching the command line. However, the cost is that it absolutely depends on Hyper-V's hardware virtualization.

Docker Desktop requirements on Windows and limitations without virtualization

By design, Docker Desktop on Windows requires that virtualization be enabled.Whether you're using Hyper-V or setting up the small WSL2 environment with its Linux kernel, this requirement isn't arbitrary: Linux containers need a Linux kernel, and on Windows, you can only provide that through a virtual machine.

Typical minimum requirements for installing Docker Desktop on Windows 10 include:

  • 64-bit CPU with SLAT and enabled hardware virtualization support.
  • At least 4 GB of RAM so that the system and the containers can breathe.
  • Windows 10 Home, Pro or Enterprise, or equivalent Windows 11.
  • 20 GB or more of disk space for the tool itself, the images, and the volumes.
  • Hyper-V or WSL2 activated according to the Windows edition.

On Windows 10 Home you can only use Docker Desktop with a WSL2 backendSince full Hyper-V is not included. In Pro and Enterprise you can choose, but currently WSL2 is usually the most flexible option with the best integration for development.

If you do not have hardware virtualization available or enabledThe situation becomes more complicated: Docker Desktop won't start correctly, and even if you try workarounds, you'll be working against the tool's default design. In that case, the solution is usually to use another machine, a remote Linux server, or at the very least, a cloud VM.

  How to make money as an AI and options trainer in Spain

Integrate Docker and WSL2 with Visual Studio Code and remote containers

Once you have containers running (either with Docker Engine on WSL2 or with Docker Desktop)The most convenient way to develop is usually with Visual Studio Code and its extensions for remote environments.

The first step is to install the “WSL” extension in VS CodeThis extension allows you to open folders residing on your Linux distro (for example, Ubuntu in WSL2) directly in VS Code, without the headaches of paths, permissions, or incompatible binaries.

Also install the “Dev Containers” extensionThanks to it, you can open your project inside a Docker container and make that container your complete development environment: dependencies, Python version, Node, .NET, etc., all encapsulated.

Finally, add the “Docker” extension for VS Code to be able to manage images, containers, logs and deployments from the editor's own interface, with side panels and contextual commands.

A typical workflow would be to clone a project onto your WSL2 distro., For example:

git clone https://github.com/<usuario>/mi-proyecto.git
cd mi-proyecto

From there, you launch VS Code pointing to the project folder with:

code .

In the VS Code command palette (Ctrl+Shift+P), select “Dev Containers: Reopen in Container” so that the project reopens within a Docker container defined by a configuration .devcontainerIf it doesn't exist, the extension will suggest templates based on the type of project (Python, Node, .NET, etc.).

Once the container is built and running, you'll have a clean and reproducible development environment.With it, you can debug, run tests, launch the development server, and open it in the Windows browser as if it were a local app.

Common problems and how to solve them

If you ever tried preview versions of Docker for WSLYou may have a Docker context called wsl which is already obsolete and can generate errors such as “open //./pipe/docker_wsl: The system cannot find the file specified”.

To check the available contexts, run:

docker context ls

If you see one called wslYou can delete it with complete peace of mind. using:

docker context rm wsl

Another point that often causes headaches is locating where Docker stores the data when working with WSL2You'll usually see something like this:

  • \wsl$\docker-desktop
  • \wsl$\docker-desktop-data

To explore them from Windows File ExplorerOpen a terminal in your WSL distro and run:

explorer.exe .

If you navigate to the route \\wsl\<Distro>\mnt\wsl (substituting <Distro> by their real name, for example Ubuntu-24.04), you should be able to see the folders where Docker Desktop stores image layers and volumes.

When Docker Desktop refuses to start or gets "stuck"It is almost always related to one of these points: virtualization disabled in BIOS, corrupted Hyper-V services, outdated WSL2, or conflicts with another virtualization tool that also wants to control VT-x/AMD-V.

What to do if your hardware doesn't support hardware virtualization

If after reviewing the BIOS and documentation you discover that your computer does not actually support hardware virtualizationThe possibilities are considerably reduced, and especially Docker Desktop will not be a viable option on Windows.

In that case, reasonable solutions involve relying on another machine or the cloud.A small Linux server on your local network, an instance on a cheap cloud provider, or even a newer laptop that offers VT-x/AMD-V. From your Windows machine, you could connect via SSH and use Docker Engine there.

You can also follow the "software" virtualization route with very old tools or experimental configurationsHowever, performance will be poor and stability questionable. It might work for a very basic learning environment, but for anything even remotely serious, it's best not to rely on that type of solution.

In short, if your GPU is decent but your CPU doesn't support virtualization, then you're in trouble.You can continue working with local development tools and reserve Docker and containers for a remote environment. It's not as convenient, but at least you'll have a compatible and maintainable environment.

Setting up a reasonable Docker Desktop environment without active hardware virtualization on Windows is severely limited by the tool's design and the need for a Linux kernel in a VMHowever, by combining WSL2, native Docker Engine on Linux, integration with Visual Studio Code and, when the hardware allows, Hyper-V or WSL2 as a Docker Desktop backend, you can have a powerful, flexible and quite lightweight container environment even on home computers, provided you assume that hardware virtualization is no longer optional but practically a starting requirement.