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

能否不使用Docker Desktop实现Visual Studio与WSL2上Docker Engine的集成?

无Docker Desktop下Visual Studio对接WSL2 Docker Engine方案

该方案完全可行,无需依赖付费版Docker Desktop即可实现和原Docker Desktop完全一致的容器开发、调试、打包能力,具体配置步骤如下:

1. WSL2侧Docker前置配置

你已经完成了Docker Engine的基础安装,只需补充如下配置即可对接Windows侧Visual Studio:

  • 配置当前用户免sudo执行Docker命令,避免后续权限报错:
    sudo usermod -aG docker $USER
    
    执行后退出WSL终端重新进入即可生效。
  • 开启Docker TCP监听(仅方案二需要配置):
    编辑/etc/docker/daemon.json文件(如果文件不存在则新建),添加如下内容:
    {
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    }
    
  • 重启Docker服务让配置生效:
    sudo /etc/init.d/docker restart
    
  • 校验Docker运行状态:执行docker ps无报错即为配置正常。

2. Visual Studio侧对接方案(二选一即可)

方案一:WSL远程开发模式(更稳定,优先推荐)

  • 先确认Visual Studio 2019已安装「使用C++的Linux开发」和「.NET Core跨平台开发」工作负载,可通过Visual Studio Installer补充安装。
  • 打开目标项目后,点击顶部运行按钮旁的下拉选择框,选择WSL 2作为运行目标。
  • Visual Studio会自动识别WSL2环境内的Docker Engine,无需额外手动配置即可实现全部容器相关功能。

方案二:Windows侧直连WSL2 Docker

  • 配置Windows系统环境变量:新建名为DOCKER_HOST的系统变量,变量值为tcp://localhost:2375。
  • 也可直接在Visual Studio中手动指定:依次打开「工具」→「选项」→「容器工具」→「Docker」,在「Docker 守护进程地址」输入框填入tcp://localhost:2375。
  • 重启Visual Studio后即可识别到WSL2内运行的Docker Engine。

常见异常排查

  • 若VS无法识别Docker,先在Windows PowerShell执行wsl --list --verbose确认目标WSL2 Ubuntu实例处于运行状态。
  • 配置了TCP监听的场景下,可执行telnet localhost 2375确认端口连通性正常。
  • 确认WSL2内Docker服务已启动,无端口占用、配置文件语法错误等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:15:04