Skip to main content


Showing posts from April, 2018

WSL: Interop state of mind

Introductionwhile playing with Docker and the Named Pipe trick, I wanted to give a more "*nix" feeling of Craig Wilhite volume mounting example:
$ docker run -v C:/Users/crwilhit.REDMOND/tmp/ microsoft/nanoserver cmd.exeThere's nothing wrong with this command, but the "scope" is WSL shell, and while using the docker nix command, the path of the volume is the windows one.
There should be a better way, no?
WSLENV to save the dayLuckily, the WSL team did already implement a very nice feature, WSLENV, and a linux command, wslpath that will help translating the Windows path.

Now it would be up to you to either create, in Windows, an environment variable and use it.
Here is the same example, using LCOW (because why not), for mounting volumes in a "linux way":
$ docker run --platform=linux -it -v $DOCKERVOL/mydir:/sharedvol ubuntu bashor use the wslpath command:
$ docker run --platform=linux -it -v `wslpath -w /mnt/c/DockerVolumes/mydir`:/sharedvol ubuntu bashMixin…

Docker + WSL: Get 2 daemon for the price of 1

Introductionalmost two years ago, Docker announced the capability of switching between the Linux and Windows containers "mode" (far from the right click that we have today).
At that time, I wrote a blog post on how to run both daemons at the same time (

Fast forward to 2018, and while we were blogging on how to get the TLS connection from WSL docker client with Rory McCune (, another blog post, by Stefan Stranger drew my attention (read: blew my mind) as I was trying to reproduce the same: how could I "bind" the docker socket in WSL with the Docker for Windows Linux mode socket (
From 1 to 2 daemon: DemonHunter mode achievedNow that we have all the required setup resources, let's bind them together. An…