非 sudo 用户无法访问 docker 命令?

问题描述 投票:0回答:1

为什么我在使用非 sudo 用户执行 docker 版本时收到此错误。 我已经使用 Script

安装了 docker

非 sudo 用户的输出

docker version
Client: Docker Engine - Community
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:35:18 2023
 OS/Arch:           linux/amd64
 Context:           desktop-linux
Cannot connect to the Docker daemon at unix:///home/cttc/.docker/desktop/docker.sock. Is the docker daemon running?

使用 sudo 用户输出

sudo docker version
Client: Docker Engine - Community
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:35:18 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       a61e2b4
  Built:            Fri Jul 21 20:35:18 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

我的用户是 docker 组的一部分。之前有安装过docker Desktop但是我把它卸载了

docker sudo ubuntu-22.04 docker-engine
1个回答
0
投票

既然我在评论中的怀疑被证实了,我又在这里写了。

docker version
命令为非root用户提供context
Context:           desktop-linux

对于 root 用户为
Context:           default

这种差异使我走上了正确的道路。使用
docker context show
直观地显示程序运行的当前 docker 上下文。已确认这些上下文对于不同的用户来说是不同的。

Docker 上下文可以使用

docker context use <context name>
进行切换,所以这里默认或desktop-linux。

© www.soinside.com 2019 - 2024. All rights reserved.