我在 WSL(Linux 的 Windows 子系统,Ubuntu 16.04)上使用 Docker 时遇到了最奇怪的情况。我正在尝试绑定挂载/home/username
(要不就$HOME
为了方便起见)作为容器中的卷,并且我没有在容器中查找主目录的内容,而是完全获得了其他卷。
奇怪的是,每当我尝试绑定挂载时,这个“其他卷”就会从一个容器持续存在到另一个容器中$HOME
or /home/username
. If I touch
一个新文件,它出现在我挂载的所有其他容器中$HOME
进入。所有其他绑定安装到任何其他目录都可以正常工作。
例如。这些都共享同一个神秘文件夹:
docker run -it --rm -v /home/username:/test alpine sh
docker run -it --rm -v $HOME:/test alpine sh
docker run -it --rm -v $HOME:/test -v $HOME:/test2 alpine sh
当我做一个docker volume ls
没有卷叫/home/username
,这样就可以排除意外拥有同名的 docker 托管卷的情况。
我正在安装的这个神秘卷是什么,为什么 docker 没有安装我的$HOME
目录正确吗?
我使用了中的说明https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawless#ensure-volume-mounts-work https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly#ensure-volume-mounts-work设置一切。
然后我必须明确地export HOME=/c/Users/rfay
以便 Windows 上的 Docker 守护进程可以访问它。但这确实有效。基本的魔力在于 WSL 中的路径必须是 Docker 守护进程可以在本机 Windows 中转换的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)