背景
目前使用的工具是Docker Desktop(Switch to Linux Containers…)。当学习到具名挂载的时候,即使得到了数据卷的位置,也无法直接访问到数据卷。
过程
发现问题
运行一个容器
docker run -d -P --name nginx01 -v juming:/etc/nginx nginx
在Linux系统,很容易就能访问到,数据卷一般在此路径下 /var/lib/docker/volumes
而实际情况是不可达
gin@DESKTOP-0OLODQ2:/$ cd /var/lib/docker/volumes/juming/_data
-bash: cd: /var/lib/docker/volumes/juming/_data: No such file or directory
尝试
通过修改Root-Dir的方式来修改数据卷存放的位置
两种修改都没有起作用,反而使得Docker Desktop 无法启动!!!
注:我选择的是Linux Container,这两个操作在Windows Container可能有效。
Docker拉取的镜像和创建的容器就存放docker-desktop和docker-desktop-data。这两个东西相信不陌生,如果不把这连个.vhdx链接到其他盘的话,恐怕系统盘容量会蹭蹭往下掉。
几乎所有内容都在这里面,数据卷Volume也不例外。
解决
在浏览器访问以下指令可以进入.vhdx中
\\wsl$\docker-desktop
\\wsl$\docker-desktop-data
我们想要访问的是数据卷的位置
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\
在这里可以看到一开始创建的juming数据卷
参考链接
GitHub上的讨论:WSL2 where is docker volume location?
.
文章简短,实际找数据卷折腾了挺久 😦。特别注意:本文针对的是Linux Container。
第一次写文章,感谢阅读❤。