我最近在 Ubuntu 22.04 上从 GNOME 切换到 i3。我无法以非 root 用户身份运行 docker。如果我按原样运行 docker 命令,它会给我一个“无法连接错误”。
$> docker container ls
Cannot connect to the Docker daemon at unix:///home/adarsh/.docker/desktop/docker.sock. Is the docker daemon running?
有趣的是,在 GNOME 中,如果我从应用程序启动 Docker Desktop,那么我可以使用 docker 命令而无需在前面添加sudo
。 但在 中i3
,选择docker-credential-desktop
fromrofi
不会启动任何东西,并且我无法以非 root 用户身份运行任何 docker 命令。
如果我尝试systemctl
使用docker-desktop
Arch Linux 的安装,那么它也会失败
$> sudo systemctl start docker-desktop
Failed to start docker-desktop.service: Unit docker-desktop.service not found.
sudo service docker start
只需通过或启动docker服务就sudo systemctl start docker
可以了,但问题仍然存在。
然后我尝试按照dockerd
给出的方式启动守护进程启动 docker 守护进程,但也失败了。
$> sudo dockerd
INFO[2024-02-07T15:45:41.739733781+05:30] Starting up
failed to start daemon, ensure docker is not running or delete /var/run/docker.pid: process with PID 11345 is still running
$> sudo rm /var/run/docker.pid
$> sudo dockerd
INFO[2024-02-07T15:46:07.461907886+05:30] Starting up
failed to start daemon: error while opening volume store metadata database (/var/lib/docker/volumes/metadata.db): timeout
我也遵循了Linux 中的安装后但它仍然没有运行。
请注意,sudo
它可以正常运行,但我想docker
以非 root 身份运行。希望有人能帮助我或为我指明正确的方向。