如何在F盘WSL目录运行Docker容器并查找镜像容器存储位置
问题解决步骤
一、查找Docker镜像与容器的存储位置
当使用WSL2作为Docker Desktop后端时,Docker的存储目录默认在WSL的docker-desktop发行版中,而非Windows的C盘本地路径:
- 通过WSL终端访问:
- 执行命令进入docker-desktop发行版:
wsl -d docker-desktop - 切换到存储目录:
cd /var/lib/docker
这里的images、containers、volumes子目录分别对应镜像、容器、数据卷的存储文件。
- 执行命令进入docker-desktop发行版:
- 通过Windows文件管理器访问:
在地址栏输入\\wsl$\docker-desktop\var\lib\docker,即可直接打开存储目录。
二、关于“找不到镜像但容器仍启动”的异常提示
这种情况属于终端输出的延迟或显示异常:
实际本地已存在该镜像的缓存,或者Docker后台自动拉取镜像的过程未在终端正确显示,导致提示与实际操作结果不符。只要容器能正常运行、Docker Desktop中能看到镜像和容器,就无需额外处理。
三、将Docker存储迁移到F盘WSL文件夹,并在该路径下运行容器
1. 迁移Docker存储目录到F盘
- 完全退出Docker Desktop(右下角托盘右键选择“Quit Docker Desktop”)。
- 在F盘创建存储目录,例如
F:\wsl-docker-storage。 - 打开Docker Desktop设置,进入Settings > Docker Engine,在配置JSON中添加以下字段(注意保持JSON格式正确,末尾字段无逗号):
"data-root": "/mnt/f/wsl-docker-storage" - 保存配置,Docker Desktop会自动重启,此后所有镜像、容器数据都会存储到F盘的指定目录。
- 验证:执行
docker info,查看输出中Docker Root Dir字段是否为你设置的F盘WSL路径。
2. 在F盘特定文件夹运行容器(挂载数据卷)
如果需要让容器使用F盘特定文件夹作为数据存储,运行容器时添加-v参数挂载卷:
- 假设F盘目标文件夹为
F:\my-project,WSL中对应的路径为/mnt/f/my-project,以Nginx容器为例:
该命令会将F盘的docker run -d -p 80:80 -v /mnt/f/my-project:/usr/share/nginx/html nginxmy-project文件夹挂载到容器内的Nginx网页根目录,容器运行时直接使用该文件夹内的内容。
内容的提问来源于stack exchange,提问作者WideWood
相关产品推荐
相关产品推荐

