【问题标题】:Is it bad to mount WSL paths into a container running under Docker for Windows?将 WSL 路径挂载到在 Docker for Windows 下运行的容器中是否不好?
【发布时间】:2019-07-01 01:10:34
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    在 Windows 上通过 Docker 访问文件路径仍然使用 Windows symantecs 来访问文件,因此您将破坏您的 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 主机(或其他)或 Linux 主机上使用来自 win-32 ssh 的 ssh/scp。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 2021-09-21
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      相关资源
      最近更新 更多