即使属于 docker 组,也无法以非 root(sudo)身份连接到 Docker 守护程序

即使属于 docker 组,也无法以非 root(sudo)身份连接到 Docker 守护程序

我很清楚官方教程解释如何以非 root 用户身份使用 Docker。

错误如下:

$ docker ps       
Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?

当以 方式运行时,相同的命令确实有效sudo

我是这个docker团体的成员:

$ groups ivan
ivan : ivan adm cdrom sudo dip plugdev lpadmin sambashare docker

docker似乎是处理 sock 文件的小组:

$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jul  9 19:42 /var/run/docker.sock

我的 Ubuntu 版本:

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

我也尝试过多次注销并登录。

我错过了什么?


以下是我的 docker 服务状态的输出,以防有用:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-07-09 19:42:52 CEST; 23min ago
     Docs: https://docs.docker.com
 Main PID: 21501 (dockerd)
    Tasks: 111
   CGroup: /system.slice/docker.service
           ├─21501 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─21849 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9200 -container-ip 172.19.0.2 -container-port 8080
           ├─21864 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9150 -container-ip 172.19.0.3 -container-port 5432
           └─21877 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.24.0.2 -container-port 3000

Jul 09 19:42:47 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:47.589590860+02:00" level=warning msg="Your kernel does not support cgroup rt runtime"
Jul 09 19:42:47 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:47.590011957+02:00" level=info msg="Loading containers: start."
Jul 09 19:42:49 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:49.517714365+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip ca
Jul 09 19:42:52 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:52.340024567+02:00" level=info msg="Loading containers: done."
Jul 09 19:42:52 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:52.428563147+02:00" level=info msg="Docker daemon" commit=481bc77 graphdriver(s)=overlay2 version=18.09.6
Jul 09 19:42:52 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:52.428665998+02:00" level=info msg="Daemon has completed initialization"
Jul 09 19:42:52 MSI-Laptop dockerd[21501]: time="2019-07-09T19:42:52.442187808+02:00" level=info msg="API listen on /var/run/docker.sock"

答案1

我知道这已经过时了,但我遇到了同样的问题,而且几乎搜索都无济于事。
此问题是由我们在安装 docker 时添加的错误的 DOCKER_HOST 环境引起的(对我来说,环境是在 ~/.profile 中添加的)。如果您看到以下内容,请检查此文件:

export DOCKER_HOST=127.0.0.1

然后删除它并运行:

source ~/.profile

然后重新启动docker服务:

sudo service docker restart

完毕

注意:DOCKER_HOST 环境仅在当前终端中重置,我们必须重新启动计算机才能使 Docker 正常工作

相关内容