Windows下Docker使用WSL2作为后端进行目录/文件挂载
问题描述:当使用wsl2进行文件挂载时,按照命令
docker run -it --name test_ubuntu -v /e/test:/mnt/test ubuntu bash
会出现虽然不报错,但是挂载失败了,使用命令ls -l mnt/test
时,出现空文件的现象,但是宿主机文件目录下非空。
解决方法1:在宿主机目录前加mnt(亲测有效)
使用如下命令即可完成挂载
docker run -it --name test_ubuntu -v /mnt/e/test:/mnt/test ubuntu bash
解决方法2:使用File sharing(本人未尝试,因为想用WSL2作为后端)
网上有的解决办法是,将后端不再使用WSL2,是使用hyper-v的,但是WSL比hyper-v要优越的多,且docker推荐的就是WSL2。setting->general 去掉勾选 "use the wsl2 base engine"选项,然后就可以出现File sharing点击应用后会自动重启(注意此方法会导致下载的容器和镜像全部消失)。
然后再使用下面的命令即可完成关联。
docker run -it --name test_ubuntu -v /e/test:/mnt/test ubuntu bash