解决vscode+WSL+docker容器没有权限的问题

192 阅读1分钟
  1. 安装 WSL、Docker 这2个vscode插件;

  2. 先在 vscode 左下角“远程连接”按钮,点击连接到 wsl; image.png

  3. 再点击左侧扩展工具栏,点击 containers 工具切换到该 tab 页。 image.png

  4. 这时,如果在左侧窗口报权限问题,如下:

ERROR: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info: dial unix /var/run/docker.sock: connect: permission denied

则需要登录 wsl(不用进到 wsl 中的容器里面),设置你的用户到 docker 组,再重启Docker。

sudo usermod -aG docker <your_username>  # <your_username>处填写你的wsl中的普通用户名。
sudo systemctl restart docker # 重启 Docker 服务
  1. 最后,重启 VScode,再尝试连接 WSL + Docker,则在左侧页面,可以看到 WSL 中的 Docker容器。

  2. 再安装 Dev Containers 这个vscode插件,则可以在 vscode 中打开 wsl docker 容器中的文件夹,阅读或调试。

image.png

image.png