Windows 10下WSL2+Docker Desktop容器重启后消失问题求助
解决Windows 10下WSL2+Docker Desktop重启后容器消失的问题
以下是针对该问题的排查和解决步骤:
1. 确认Docker Desktop的WSL后端配置
- 打开Docker Desktop设置,进入General标签,确保勾选
Use the WSL 2 based engine,同时勾选Start Docker Desktop when you log in,避免重启后配置重置。 - 切换到Resources > WSL Integration,确认你正在使用的WSL2发行版(如Ubuntu)处于开启状态,点击"Apply & Restart"保存设置。
- 重启电脑后,右键点击任务栏的Docker图标,确认当前是Switch to Linux containers模式(如果你的容器是Linux类型)——切换到Windows容器模式会导致Linux容器不可见,并非真正消失。
2. 检查WSL发行版状态
- 打开PowerShell或CMD,运行
wsl -l -v查看WSL发行版列表,确保目标发行版的VERSION为2,且STATE正常(非异常状态)。 - 避免使用临时导入的WSL发行版(通过
wsl --import创建且未设置用户的发行版可能存在数据丢失风险),建议使用Microsoft Store安装的官方发行版。
3. 验证Docker数据存储路径
- 进入WSL2发行版终端,运行
docker info,找到Docker Root Dir字段,确认路径为/var/lib/docker(WSL文件系统内)。如果路径指向Windows系统盘的临时目录,可能导致重启后数据被清理。
4. 修复WSL发行版损坏
如果WSL发行版存在文件系统损坏,可能导致Docker数据丢失:
- 备份当前WSL发行版:在PowerShell中运行
wsl --export <发行版名称> <备份路径>\backup.tar(例如wsl --export Ubuntu C:\wsl-backup\ubuntu.tar)。 - 注销并重新导入发行版:运行
wsl --unregister <发行版名称>,再执行wsl --import <发行版名称> <安装路径> <备份路径>\backup.tar。 - 重新配置Docker Desktop的WSL集成,重启后测试容器是否保留。
5. 更新WSL和Docker Desktop
- 运行
wsl --update更新WSL到最新版本,完成后重启电脑。 - 打开Docker Desktop,进入Settings > Software Updates,检查并安装最新版本的Docker Desktop,修复已知的兼容性问题。
6. 以管理员身份运行Docker Desktop
部分情况下,普通权限无法保存WSL集成配置,导致重启后重置:
- 右键点击Docker Desktop快捷方式,选择"以管理员身份运行",重新配置WSL集成并保存,重启后验证问题是否解决。
内容的提问来源于stack exchange,提问作者Janine Kroser
相关产品推荐
相关产品推荐

