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

WSL2用Docker Rancher执行docker命令报Permission denied如何解决

问题根因

WSL2内的Docker客户端通过Unix域套接字/var/run/docker.sock对接Windows侧运行的Docker守护进程,该套接字默认仅对docker用户组的成员开放读写权限。当前使用的WSL登录账号未加入该用户组,因此会触发权限拒绝报错。
Windows CMD下命令可正常执行,是因为Windows侧Docker直接对当前登录的Windows用户做了授权,走Windows系统权限校验逻辑,和WSL内部独立的Linux权限体系不互通。

修复操作
  • 执行以下命令将当前WSL用户加入docker用户组:
sudo usermod -aG docker $USER
  • 权限生效可选择两种方式:
    • 即时生效:执行newgrp docker刷新当前终端的用户组权限,不需要关闭终端
    • 全局生效:如果即时生效方式无效,关闭所有WSL终端,在Windows PowerShell/CMD中执行wsl --shutdown彻底关闭WSL实例后,重新打开Ubuntu终端即可
  • 验证:重新进入WSL终端执行docker ps,可正常返回容器列表(无运行中容器时返回空表头)即修复完成。

避坑提示:不要直接执行chmod 777 /var/run/docker.sock修改套接字权限,该操作是临时生效,WSL重启后权限会自动恢复默认,同时会放开所有用户的Docker操作权限,存在安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 04:09:32