WSL2 下的 Docker 客户端在没有 sudo 的情况下无法工作
Posted
技术标签:
【中文标题】WSL2 下的 Docker 客户端在没有 sudo 的情况下无法工作【英文标题】:Docker client under WSL2 doesn't work without sudo 【发布时间】:2021-02-18 22:37:36 【问题描述】:在 WSL2 (Ubuntu 20.04) 上,我正在尝试连接到在 Windows 上运行的 Docker 守护程序。
$ docker ps
Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
(exit code 1)
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(exit code 0)
为什么它可以与 sudo 一起使用,而没有 sudo 则不行?没有 sudo 怎样才能让它工作?
我已经完成了
$ sudo usermod -aG docker $USER
成功运行,但对问题没有帮助。
我也重新启动了很多次,都没有帮助。
【问题讨论】:
【参考方案1】:这个解决方案很奇怪 - 但请继续尝试:
取消设置 DOCKER_HOST
如果可行,您可以返回并在 .bashrc 文件中注释掉“export DOCKER_HOST=tcp://localhost:2375”,从而使修复永久生效。我认为这与 docker 在 WSL 2 和 WSL 1 中的配置方式有关,但 Docker 从未更新其文档以反映这一点。
【讨论】:
一开始我没想到这会起作用,但不知何故它解决了这个问题。感谢您的帮助! 这出乎意料,为我省去了很多麻烦,谢谢!。以上是关于WSL2 下的 Docker 客户端在没有 sudo 的情况下无法工作的主要内容,如果未能解决你的问题,请参考以下文章
Windows下的Linux子系统安装,WSL 2下配置docker
从零实操基于WSL2 Docker部署Asp.Net Core项目
在 Linux 主机上运行的 Windows 10 来宾 VM 中运行 WSL2