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.localhost\docker-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.localhost\docker-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.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\
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.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes\mysql_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>\AppData\Local\Docker\wsl\data\ext4.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.localhost\docker-desktop\
is the Linux root filesystem - All Docker data (containers, images, volumes…) lives at:
\\wsl.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker
- That whole thing is stored in a virtual disk file at:
C:\Users\<your_username>\AppData\Local\Docker\wsl\data\ext4.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.