我知道直接从Windows 访问WSL Linux文件(位于%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
中)不是一个好主意,但是该建议还建议适用于将WSL路径作为卷安装到在Docker for Windows下运行的容器中?
例如,如果我首先在Windows上这样做:
mklink /j %USERPROFILE%\wsl %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
然后在已配置Docker的WSL中执行此操作:
$ docker run --rm -v /c/Users/$USER/wsl/home/$USER/myapp:/myapp -ti ubuntu:18.04 bash
以上假设“ /etc/wsl.conf”中的必需字符“ root=/
”,并且两种环境中的用户名称相同。
我可以在“ /myapp
”下面的容器中看到我的文件,但是我不确定写入该路径是否安全。如果WSL和容器都在运行Ubuntu,那么安全吗?
我真的更喜欢从WSL进行全职工作,我的主目录包含熟悉的Linux点文件。
仅仅为了踢球,如果在WSL中,“ $HOME/myapp
”是“ /c/myapp
”的符号链接?是的,为了简单起见,我应该只使用-v /c/myapp:/myapp
,但是遍历rootfs路径真的不好吗?
答案 0 :(得分:0)
在Windows上通过Docker访问文件路径仍然使用Windows符号来访问文件,因此您将使您的WSL发行版实例感到困惑。但是,最新的Windows Insider包括嵌入到专有的/ init中的Plan9服务器,该服务器本质上允许通过网络共享从Windows访问Linux文件。参见https://blogs.msdn.microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/
另一种选择是从同一Windows主机(或另一台)上的win-32 ssh或Linux主机上使用ssh / scp。