WSL 中的 Docker 绑定挂载不显示文件

ric*_*lla 4 docker docker-volume windows-subsystem-for-linux

我尝试从 WSL 内部使用 docker 客户端,连接到 Windows 上的 docker 引擎。我已经在 Windows 上的端口 2375 上公开了 docker 引擎,在 WSL 中设置 DOCKER_HOST 环境变量后,我可以通过运行 docker ps 来验证它是否有效。

当我尝试从 WSL 将目录安装到 docker 容器中时,问题就出现了。例如:

  • 我在 WSL 上的主文件夹中创建一个目录和文件 ( mkdir ~/dockertest && touch ~/dockertest/example.txt)
  • ls ~/dockertest显示我的文件已创建
  • 我现在启动一个 docker 容器,挂载我的 docker 测试文件夹 ( docker run -it --rm -v ~/dockertest:/data alpine ls /data)
  • 我希望在 docker 容器中看到“example.txt”,但这似乎没有发生。

有什么想法我可能会错过吗?

rfa*_*fay 5

https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawless#ensure-volume-mounts-work有关于 WSL 中 Docker 设置的详细说明- 解决了大多数问题我的问题。对我来说最大的技巧是使用绑定安装的目录;您必须在 WSL 中使用 Docker 守护进程能够转换的路径,例如 /c/Users/rfay/myproject。