Docker 在 Ubuntu 中没有 sudo 就无法工作,引用 .docker/desktop 目录

man*_*ran 7 docker docker-desktop

在 Ubuntu 22.04 系统上,每当我运行任何docker命令时,它都会打印出错误:

Cannot connect to the Docker daemon at unix:///home/<username>/.docker/desktop/docker.sock. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)

但是,如果我检查systemctl status docker,它表明 Docker 守护进程正在运行。

运行sudo docker ...有效,但我不希望在每个 Docker 命令前面加上sudo. 我已经尝试了如何修复 docker:权限被拒绝问题中的许多方法,包括将我的用户添加到docker组中并放宽权限/var/run/docker.sock,但我仍然收到此错误。

可能是什么原因造成的?

ism*_*lik 19

如果您先安装了 Docker Desktop,然后将其删除并安装了 Docker Engine,则可能需要使用以下命令切换 Docker 上下文:

docker context use default
Run Code Online (Sandbox Code Playgroud)

因为 Docker Desktop 在启动和关闭之前会切换上下文,以免干扰 Docker Engine。因此,删除 Docker Desktop 后,上下文可能会被错误保留。相关文章:https://www.howtogeek.com/devops/how-to-troubleshoot-cannot-connect-to-the-docker-daemon-errors/