$ ls -R ~/








Docker, Devilbox and Windows Subsystem for Linux: Don’t Bother.


Date: 10/03/2019

I know, I know. I previously wrote about doing dev work under WSL, and you still can. In fact, my primary development machine is a Windows 10 laptop running a (WS)LAMP stack for my PHP front-end development. Sometimes Apache doesn’t quite start properly, so you’ve got to tell it to restart, but other than that, it works great once configured.

I did, however, decide to give Docker a go.

I didn’t have time to roll my own container how I’d like, so I opted to use Devilbox. It checked all the boxes for me without being overblown: Quick spin up of virtual hosts, PHPMyAdmin out of the box (not that I needed it, but sometimes its a timesaver over command line), DNS server auto-config and a host of server software versions available with a config edit. Configuration took a while, especially getting Docker to play nice with WSL. I followed what Nick Janetakis wrote on setting up Docker for Windows and WSL, and once done, I was running Devilbox nicely.. Or so I thought.

Troubleshooting issues with such a relatively esoteric configuration is an exercise in frustration. To put it simply, I was having atrocious performance.

Running a relatively heavy PHP/MySQL platform was painful. Load times were around 5-7 times what I was getting just running my (WS)LAMP stack outside Docker. At first, I thought it was my DNS configuration (which I loved in Devilbox), but.. No.

I can’t tell you how many things I tried to improve performance, but eventually, I had to drop it. I have work to do, and when I’m doing regular refreshes to test my code as well as working inside the platform’s controls, even a 5 second increase is just unacceptable.

You may be asking yourself.. “Will, Docker will run native in Windows; there’s no need to get WSL into the mix!”

You’re right, except for the fact that I do a LOT of work in WSL, and have scripts set up for everything I want to do. I live and breathe the Linux terminal.

So, until I get my new desk and can get my Linux laptop set up in my office along-side my Windows machine, Docker is just going to have to wait.