How to Improve Docker Performances with WSL 2 on Windows

Discover how to dramatically improve Docker performance on Windows with WSL. Learn why Docker can be slow and follow practical steps to optimize Symfony development inside WSL for faster builds and better productivity.

How to Improve Docker Performances with WSL 2 on Windows
Photo by Tomas Anton Escobar / Unsplash

If you're developing on a Windows machine and experiencing sluggish Docker performance, you're not alone. Docker's integration with Windows can introduce latency, especially when working with complex frameworks like Symfony. The good news is that you can significantly speed things up using Windows Subsystem for Linux (WSL).

In this guide, we'll break down why Docker slows down on Windows, how WSL (especially WSL 2) impacts file performance, and what you can do to optimize your Symfony workflow. By the end, you'll have a faster, smoother development setup—without switching operating systems.

Requirements Before You Start

Before diving into optimization, make sure you have both Docker Desktop and WSL 2 installed and properly configured on your system.

If you haven’t yet installed WSL, follow our step-by-step guide to installing WSL 2 on Windows.

Why Docker Feels Slow on Windows

Many developers experience high latency when running Docker with projects stored on the Windows file system. For instance, in a Symfony project located in D:\, page load times during development can balloon to 10–15 seconds. The main culprit lies in file I/O performance across system boundaries.

In WSL, accessing files on the mounted Windows drives (like /mnt/c or /mnt/d) introduces significant overhead. That’s because WSL 2 uses a virtualized environment with a Linux kernel, and crossing from Linux to Windows file systems isn’t efficient.

WSL vs WSL 2: What's the Difference?

FeatureWSL 1WSL 2
Windows/Linux integration
Lightweight footprint
Full Linux kernel
System call compatibility
Fast file access to Windows FS

WSL 2 offers better overall Linux compatibility thanks to its real Linux kernel, but it comes at a cost: poor performance when accessing Windows files. Tools like Symfony rely heavily on file reads and writes (e.g., for caching), so performance takes a noticeable hit if your project is located on the Windows filesystem.

Microsoft's own WSL documentation confirms this degradation when accessing files outside the WSL environment.

The Fix: Move Your Project into WSL

To resolve these performance issues, simply relocate your Symfony project into your WSL file system. This avoids the performance penalties tied to the mounted Windows drives.

Steps to Move Your Project

  1. Open your WSL terminal.
  2. Navigate to your Linux home directory (e.g., /home/your-user/).
  3. Use Git or copy your project into this directory.
git clone https://github.com/your-repo/symfony-project.git

or copy manually

cp -r /mnt/d/path-to-project ~/symfony-project

Projects stored here run significantly faster because file operations are handled entirely within the Linux environment.

Bonus Tip: Use IDEs That Support WSL

Modern editors like Visual Studio Code and PHPStorm support WSL natively. You can edit files directly from your WSL distribution, eliminating the need to move files back and forth.

This setup gives you the best of both worlds: fast Linux-based development and access to your favorite Windows tools.

Optimizing Symfony on Docker

If you're running Symfony on Docker inside WSL, you’ll also benefit from:

  • Faster cache generation
  • Faster asset building (Webpack Encore, etc.)
  • More reliable volume mounting

You can even take it further by configuring Docker Desktop to use the WSL 2 backend. This ensures all containers and volumes operate within WSL's file system for optimal speed.

To check this, open Docker Desktop settings → Resources → WSL Integration, and enable your WSL distro.

Conclusion

Improving Docker performance on Windows doesn’t require a new PC or OS switch. By simply moving your Symfony project into the WSL file system and leveraging Docker’s WSL 2 backend, you can eliminate frustrating delays and boost your development efficiency.

This small change can lead to major time savings across your workflow. Whether you're running tests, building assets, or just navigating your app, the improved speed is noticeable.

So if you're struggling with Docker slowness on Windows, give this approach a try—you’ll wonder why you didn’t do it sooner.