Windows 10 build 15063.11, running Windows Subsystem for Linux (WSL) Xenial 16.04.2 LTS.
There's a docker client running in WSL connecting to the Windows Hyper-V daemon. Fun.
The one issue I can't get rid of is the path mapping between WSL and the Hyper-V daemon for volumes - from compose files. Compose files are supposed to be cross platform - they're all relative, and if I start just changing the
compose.yml just to suit my WSL monstrosity, the services won't start anywhere else properly, which isn't entirely practical.
Is there something like
export MSYS_NO_PATHCONV=1 that I can do to make WSL stop mutilating the paths before they're sent to the daemon?
Where does this problem need to be solved? In the daemon? In compose? in WSL? where can I contribute?
Volume mappings outside of compose files work wonderfully because you can specify them absolutely, and in the proper format when you pass them to the client/daemon.
docker run -v c:/my/stuff/is/here:/vars/now/here magicImage from within WSL works fantastic. It's just compose is getting absolute file names from WSL that are not actually file names e.g.,
/mnt/c/my/stuff/isnt/here because in the daemon's Hyper-V universe,
/mnt/c/ is nonsense.
follow-up: reached out to docker/compose.
os.path.abspath to resolve the absolute paths of the resources, so it seems likely that the issue is more likely in using Microsoft / BashOnWindows.