Docker Desktop on Windows doesn’t actually run on Windows itself. Instead, it runs inside a full Linux environment made possible by WSL2 — a subsystem that runs Linux natively inside Windows, so Docker behaves as if it’s running on a real Linux machine.
When you open this path in File Explorer:
\wsl.localhostdocker-desktop
…what you’re seeing is the root filesystem of the Linux instance Docker uses to manage containers, images, volumes, and more.
📁 What’s inside \wsl.localhostdocker-desktop?
This is a full-fledged Linux OS, with the standard directory structure. If you’re coming from Windows, it might feel a bit unfamiliar — but every folder here has its purpose:
/bin– Core system commands likels,sh,mkdir, etc./etc– System config files (kind of like the Registry on Windows)/var– Logs, cache, temp files — includes system logs, APT cache, and Docker daemon data/home– User home directories (Docker Desktop rarely uses this)/proc,/sys,/dev– Special interfaces for talking to the kernel, devices, and processes/run,/tmp– Temporary runtime files and sockets/mnt– Mount point for drives, including the virtual disk Docker stores data on

This design is what allows Docker on Windows to truly operate within a real Linux environment — no emulation involved.
Where does Docker store data?
All Docker containers, images, volumes, and network data are stored inside a virtual disk file (.vhdx). This disk is mounted in Linux at:
\wsl.localhostdocker-desktopmntdocker-desktop-diskdatadocker
Inside that docker directory, you’ll find:
containers/– Each container’s filesystem and metadataimage/– Layers, caches, and image datavolumes/– The actual data you save via Docker volumesnetwork/– Docker’s network settingsbuildkit/,tmp/– Build-time and runtime temp files
This is the real guts of Docker Desktop — the place where all your Docker CLI actions end up.
Example:
You spin up a MySQL container with a volume for database storage:
docker run -d --name mysql-test -v mysql_data:/var/lib/mysql mysql
→ The actual database files get saved at:
\wsl.localhostdocker-desktopmntdocker-desktop-diskdatadockervolumesmysql_data
But you should NOT edit these files directly — read on to see why.
Where is the actual .vhdx file?
Instead of writing every container file to your physical drive, Docker packs everything into a virtual disk file:
C:Users<your_username>AppDataLocalDockerwsldataext4.vhdx
→ This file is mounted inside Linux at:
/mnt/docker-desktop-disk/
Every container, image, and volume you create via the Docker CLI lives inside this one file.
⚠️ Should you open or modify these files?
Nope. Don’t do it.
Even though you can browse \wsl.localhost... in File Explorer and see all the folders:
- These are system files actively in use by Linux
- Docker does not guarantee safety if you modify them manually
- You can mess up file permissions, break containers, or corrupt images
The right way to access data
Copy files from a container:
Want to pull a file out of a running container?
docker cp web_app:/app/backup.zip ./backup.zip
→ This copies backup.zip from the web_app container to your current directory.
Inspect contents of a volume:
Want to see what’s inside a volume called my_logs?
docker run --rm -it -v my_logs:/data alpine sh
→ This starts a temporary container, mounts the volume at /data, and lets you cat /data/log.txt or explore it directly.
Summary
- Docker Desktop on Windows runs inside a real Linux system using WSL2
- The path
\wsl.localhostdocker-desktopis the Linux root filesystem - All Docker data (containers, images, volumes…) lives at:
\wsl.localhostdocker-desktopmntdocker-desktop-diskdatadocker - That whole thing is stored in a virtual disk file at:
C:Users<your_username>AppDataLocalDockerwsldataext4.vhdx - You shouldn’t edit Docker files manually — use Docker CLI instead
Takeaway
Understanding Docker Desktop’s filesystem layout helps you:
- Debug container issues with confidence
- Manage data and volumes accurately
- Avoid breaking things by poking around the wrong way
🛠️ Docker runs on Linux — even when you’re using Windows.
Getting that into your head is key to mastering Docker Desktop.