Разве плохо монтировать пути WSL в контейнер, работающий под Docker для Windows? - PullRequest
0 голосов
/ 07 февраля 2019

Я знаю, что не очень хорошая идея для доступа к файлам WSL Linux (находится в %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\) напрямую из Windows , но эта рекомендация также применима к монтированиюПуть WSL как том в контейнере, работающем под Docker для Windows?

Например, если я сначала сделаю это в Windows:

mklink /j %USERPROFILE%\wsl %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

Затем сделайте это в WSL с уже настроенным Docker:

$ docker run --rm -v /c/Users/$USER/wsl/home/$USER/myapp:/myapp -ti ubuntu:18.04 bash

Вышеприведенное предполагает использование реквизита "root=/" в /etc/wsl.conf и что у пользователя одинаковое имя в обеих средах.

Я прекрасно вижу свои файлы внутри контейнера в "/myapp", но я не уверен , безопасно ли писать по этому пути .Если и WSL, и контейнер работают под управлением Ubuntu, безопаснее ли это?

Я действительно предпочитаю работать полный рабочий день из WSL с моим домашним каталогом, содержащим знакомые точечные файлы Linux.

И просточто делать, если в WSL "$HOME/myapp" есть символическая ссылка на "/c/myapp"?Да, тогда я должен просто использовать -v /c/myapp:/myapp для простоты, но действительно ли плохо обходить пути rootfs?

1 Ответ

0 голосов
/ 05 марта 2019

Доступ к путям к файлам через Docker в Windows по-прежнему использует Symantecs Windows для доступа к файлам, поэтому вы создадите экземпляр дистрибутива WSL.Однако новейшая версия Windows Insider включает сервер Plan9, встроенный в проприетарный файл / init, который обеспечивает доступ к файлам Linux из Windows через сетевой ресурс.См. https://blogs.msdn.microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/

Альтернативой может быть использование ssh / scp из win-32 ssh на том же хосте Windows (или другом) или с хоста Linux.

...