将WSL路径安装到在Docker for Windows下运行的容器中是否不好?

时间:2019-02-07 00:11:16

标签: windows-subsystem-for-linux docker-for-windows

我知道直接从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路径真的不好吗?

1 个答案:

答案 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。