Support for Minshall+French symlinks used by Docker On Windows
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
To unlock workflows which involve running docker, it is unrealistic to expect docker daemon support in WSL anytime soon, so only option is to have Docker On Windows running and connect to it from WSL via TCP port, which works absolutely fine apart from symlinks.
Docker-for-Windows uses Minshall+French symlinks (https://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks) style where file of a special format is created and then interpreted as a symlink on the client side (in Docker-for-Windows case in CIFS client).
Given that native NTFS links seem to be followed on server side and is unlikely to be supported in CIFS client because of that, feels like path of least resistance is for WSL to learn how to interpret Minshall+French symlinks as linux symlinks when reading from DrvFs, this will be a HUGE enabler for many compile & test workflows which involve docker.
Current workaround is to move everything to Docker and don't even attempt to access work tree from within WSL itself :(
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how WSL's DrvFs handles symlinks when accessing Docker-for-Windows files over CIFS. Read the Minshall+French symlink format reference linked in the issue and compare it with the existing native NTFS link behavior. Done means these files are interpreted as Linux symlinks from WSL while preserving existing link handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, linux
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100