Windows10(WSL2+Docker Desktop)中Docker镜像及元数据存储位置与目录异常问题
Windows 10 + Docker Desktop(WSL 2 后端)镜像与元数据存储解析
为什么docker info显示的/var/lib/docker目录在WSL 2中找不到?
当Docker Desktop以WSL 2作为后端时,它不会把镜像、元数据直接存在你常用的WSL发行版(比如Ubuntu)的文件系统里,而是单独创建了一个名为docker-desktop-data的WSL发行版,专门用来存储这些核心数据。
你在默认WSL发行版里执行docker info看到的/var/lib/docker,只是一个逻辑上的绑定挂载点,实际指向docker-desktop-data里的真实目录,但这个挂载关系在默认发行版的文件系统中是不可见的——Docker这么做是为了实现存储隔离,同时利用WSL 2的虚拟磁盘提升IO性能。
能不能通过WSL 2导航查看所有存储位置?
可以,两种方法直接访问真实存储目录:
方法1:进入docker-desktop-data发行版
执行命令切换到这个专门的存储发行版:
wsl -d docker-desktop-data
进入后,真实的镜像、容器元数据就存在/var/lib/docker目录下,用ls、cd等命令就能查看images、containers、volumes这些子目录的内容。
方法2:手动绑定挂载到默认WSL发行版
如果想在常用的WSL发行版里直接访问这个目录,可以手动创建绑定挂载:
- 在默认WSL发行版中创建目标目录:
sudo mkdir -p /var/lib/docker - 执行挂载命令(需要sudo权限):
sudo mount --bind /mnt/wsl/docker-desktop-data/var/lib/docker /var/lib/docker
完成后,你就能在默认WSL发行版的/var/lib/docker下看到所有镜像和元数据了。
另外补充:这些存储数据的物理载体是Windows系统里的虚拟磁盘文件,路径为C:\Users\<你的用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx,但直接打开这个文件无法查看内容,还是通过WSL命令访问更直接。
内容的提问来源于stack exchange,提问作者Rohit Kumar
相关产品推荐
相关产品推荐

