在 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”,从而使修复永久化。我认为这与 WSL 2 与 WSL 1 中 docker 的配置方式有关,但 Docker 从未更新他们的文档来反射(reflect)这一点。
关于WSL2 下的 Docker 客户端在没有 sudo 的情况下无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64710480/