【解决】Got permission denied while trying to connect to the Docker daemon socket at......dial unix /var

 

 

>>> 问题:搭建Portainer时,选择本地链接报错?

 

 

>>>分析: 根据报错信息可知是权限问题。

  可能缘由一:使用了非root用户启用或链接docker

   >>> Docker进程使用Unix Socket而不是TCP端口,而默认状况下,Unix socket属于root用户,所以须要root权限才能访问。html

sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名。
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组

  

  可能缘由二:启动命令未挂载docker.sock文件

   >>> 单机模式页面有提示须要挂载本地 /var/run/docker.sock与容器内/var/run/docker.sock链接,所以,在启动时必须指定该挂载文件。docker

     它是Docker守护进程(Docker daemon)默认监听的Unix域套接字(Unix domain socket),容器中的进程能够经过它与Docker守护进程进行通讯。dom

docker run -d -p 9000:9000 --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test portainer/portainer
# 用宿主机9000端口关联容器9000端口,并给容器起名为portainer-test。
# 执行完该命令以后,使用该机器IP:PORT便可访问Portainer。

 

 

  可能缘由三:Docker版本太低

   >>> 分别查看docker运行状态、版本、信息,发现运行状态均正常,可是版本倒是1.13.1。socket

     这是一个很老很老的版本,虽然搭建运行docker命令均无问题,可是与不少镜像存在兼容问题。post

    通常都是由于你使用默认安装(yum install docker),若是你细心点执行命令 yum list docker 你会发现只有一个1.13.1的包,这是由于你的系统版本不够高,随之的yum库软件版本也都比较低,须要进行一些设置再进行安装。url

    详情参考  ——>  获取Centos的Docker CE   或 获取Ubuntu的Docker CEspa

 

  1.  查看docker版本

 

  2. 查看docker信息

   

 

  3. 查看docker状态