I'm trying to figure out how to get started with Docker containers on my Windows machine. I've built a Linux home server with Open Media Vault for managing disks and using Docker Compose, so I have a bit of background in this area, but it's been a while since I've worked with it, and I'm a bit out of practice.
Yesterday, I installed Docker Desktop on my Windows machine and set up Windows Subsystem for Linux (WSL), and everything seems to be working fine so far. I pulled an image from Docker Hub and deployed a container to test it, and that worked well.
However, when I tried to add a different disk for media storage and set up the permissions, I ran into problems. I added the disk in the settings but couldn't find it within the container. These seem like minor issues I can sort out later, similar to what I had to do with my Linux server.
While seeking more information, I found a lot of negative feedback regarding Docker Desktop, mainly criticizing its optimization and the stability of the Linux integration with Windows. This has me wondering—what's the right approach? If Docker Desktop isn't recommended, what alternatives exist for running containers more smoothly?
5 Answers
I'd suggest setting up Docker only in WSL and using Linux paths exclusively. Steer clear of NTFS paths (like those under /mnt/c/) to avoid file access issues. It saved me a ton of frustration!
Honestly, I'd recommend against using Docker on Windows. Think of it like not installing Active Directory on Linux—it just doesn't make sense for the tool's intended environment. There are easy ways to run Docker in its native Linux environment, which would likely be a smoother experience.
If you're looking for alternatives, consider using VMware Workstation, Oracle VirtualBox, or Microsoft Hyper-V. You can set up your own Linux VM, install Docker Engine directly in there (not the Desktop version), and then connect via SSH from your Windows machine. Visual Studio Code has some nice extensions for that too!
That sounds interesting! Can you run Docker CLI natively in WSL2 instead of using Docker Desktop?
If we're talking about Linux containers (as Windows containers aren't widely used), the best approach is to set up a Linux system and install a container engine like Docker on it. WSL is convenient, but you have other options like Podman or Rancher Desktop. Many paths lead to the same outcome—whatever works best for you! Docker Desktop does have some licensing restrictions, which is another reason some folks steer clear of it. Just a heads up!
Thank you for that clarification! So, Docker Desktop isn't necessary if I'm using WSL, right? What's its purpose? Is it just for the GUI or Docker Compose features? Do you prefer one of the alternative setups over the others?
I actually run Docker on Ubuntu using WSL2. It's been a smooth experience for me. If you're finding Docker Desktop a bit tricky, this might be a good route to explore.

This tip would have saved me so much hassle earlier! I'm glad I figured it out, but I wish I'd known sooner.