Docker WSL2 下的客户端在没有 sudo 的情况下无法工作

Docker client under WSL2 doesn't work without sudo

在 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 

运行 成功,但对问题没有帮助。

我也重启了很多次,都没有用。

这个解决方案很奇怪 - 但请继续尝试:

unset DOCKER_HOST

如果可行,您可以通过返回并在 .bashrc 文件中注释掉“export DOCKER_HOST=tcp://localhost:2375”来永久修复。我认为这与 docker 在 WSL 2 和 WSL 1 中的配置方式有关,但 Docker 从未更新他们的文档来反映这一点。