You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu环境下VSCode创建Dev Container提示docker未找到求助

排查与解决WSL2中Dev Containers无法创建新容器的问题

核心问题分析

当前问题是VSCode的Dev Containers扩展错误地在Windows系统PATH中查找Docker可执行文件,而非使用WSL2 Ubuntu内的Docker服务。旧容器能正常运行说明WSL内的Docker daemon本身是正常的,问题出在扩展的配置或远程会话的上下文指向。


具体排查与修复步骤

1. 修正Docker上下文指向

  • 打开VSCode命令面板(Ctrl+Shift+P),执行 Dev Containers: Configure Docker Context for Containers
  • 选择 WSL: Ubuntu 作为默认Docker上下文,强制扩展使用WSL内的Docker服务

2. 确认WSL内Docker服务状态

在WSL终端执行以下命令:

# 检查Docker daemon运行状态
sudo systemctl status docker

# 若未运行则启动服务
sudo systemctl start docker

# 设置开机自启避免后续问题
sudo systemctl enable docker

3. 指定WSL内Docker可执行路径

  • 在WSL终端执行 which docker,获取路径(通常为 /usr/bin/docker)
  • 打开VSCode设置(Ctrl+,),搜索 dev.containers.dockerPath,将值设置为 wsl://Ubuntu/usr/bin/docker(替换为你的实际路径和发行版名称)

4. 验证VSCode远程会话状态

  • 确认VSCode左下角状态栏显示当前连接为 WSL: Ubuntu,若不是则重新通过WSL终端执行 code . 打开项目
  • 禁用并重新启用Dev Containers和WSL扩展,重启VSCode后重试创建容器

5. 排查WSL环境变量配置

  • 查看WSL的/etc/wsl.conf文件,确认是否存在错误配置:
    cat /etc/wsl.conf
    
    若有interop.appendWindowsPath=true,可暂时改为false测试,确保WSL本地PATH优先级高于Windows
  • 在WSL终端执行 echo $PATH,确认/usr/bin在Windows路径之前

6. 回退扩展版本(若更新后出现问题)

若问题是在Dev Containers扩展更新到0.275.1/0.279.0后出现,可尝试回退版本:

  • 打开VSCode扩展面板,找到Dev Containers扩展,点击齿轮图标选择Install Another Version,选择之前能正常工作的版本
  • 重启VSCode后测试创建容器

内容的提问来源于stack exchange,提问作者qootec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:48:24