我想从 devcontainer.json“mounts”属性指定一个网络共享的挂载,以便我可以编写从该网络共享中提取文件的脚本,并可以在多台主机上运行。
我可以看到 VSCode 远程容器纯粹是将“mounts”属性值传递给docker run --mount参数。所以,如果我能找到一种方法让它发挥作用,那么我应该做好准备。
我可以从 WSL2 发行版挂载网络共享sudo mount -t drvfs //myserver/projects /mnt/p并将其挂载在容器中docker run --rm -it --mount source=/mnt/p,target=/mnt/p,type=bind,readonly=true ubuntu:18.04 bash,我可以在容器中列出该目录以获取网络共享的内容。但这仅在我从 WSL2 分发终端窗口中执行 docker 命令时才有效。为了在 VSCode 远程容器中工作,我需要它在 Windows 主机上工作。而且我还没有找到任何可从标准 Windows 命令提示符运行的等效命令。
这些都是从主机上的 Windows 命令提示符尝试的。
我有一个从P:到的映射网络驱动器\\myserver\projects。
# Even with the mount to the network share still present in the primary WSL distribution
docker run --rm -it --mount source=/mnt/p,target=/mnt/p,type=bind,readonly=true ubuntu:18.04 bash
docker: Error response from daemon: invalid mount config …Run Code Online (Sandbox Code Playgroud) visual-studio-code windows-subsystem-for-linux docker-for-windows vscode-remote