VS代码的远程容器扩展无法执行docker命令



设置:

  • 在WSL2(5.4.72-microsoft-standard-WSL2(中运行的Ubuntu 20.04发行版
  • Windows中安装的VS代码版本1.55.2
  • Docker版本19.03.8,构建afacb8b7f0,安装在WSL2中
  • docker compose版本1.29.0,内部版本07737305安装在WSL2中
  • 本地安装的VS Code v0.166.1远程容器扩展(我找不到在WSL2中显式安装此扩展的选项,但我不确定这是否重要,请参阅下文(

原始错误:

当我打开命令选项板并输入Remote-Containers: Rebuild and Reopen in Container时,我会收到错误"找不到"docker"命令。确保Docker已安装在弹出窗口中。

我尝试过的:

尝试1

首先,我认为远程容器扩展希望在windows中执行docker命令,而不是WSL2。由于我没有在Windows上安装Docker Desktop,所以不可能在Windows中执行Docker命令。所以,我尝试从市场v0.165.0下载一个特定版本的远程容器扩展文件,将其复制到WSL2/home/kevinsuedmersen/.vscode-server/extensions内的VS扩展文件夹中,然后从VS代码扩展面板手动安装。然而,这也在本地安装了远程容器扩展,因此可能在Windows上。我不确定local是否意味着该扩展在全局范围内可用,但尽管如此,我仍然会收到一个错误,即找不到docker命令,如上所述。

尝试2

我注意到,当我在Windows上打开PowerShell时,我可以通过在所有docker命令(例如wsl docker run hello-world(前面加上wsl来使用WSL2中的docker守护进程。因此,我转到VS代码,在设置(设置>远程>容器>Docker路径(中,我将Docker路径从docker更改为wsl docker,但随后,我得到了这个错误Docker Desktop WSL 2 backend required。在另一台笔记本电脑上也是如此,我实际上安装了Docker Desktop并启用了WSL2后端。

尝试3

我尝试将VS代码中的docker路径更改为WSL2/var/run/docker.sock中docker套接字的完整路径,但随后出现错误Current user does not have permission to run 'docker'. Try adding the user to the 'docker' group。我的当前用户kevinsuedmersen已经是docker组的成员。

如有任何建议或指示,我们将不胜感激。

在VS远程容器扩展的GitHub Repo上给出了答案:https://github.com/microsoft/vscode-remote-release/issues/4914

相关内容

  • 没有找到相关文章

最新更新