Linux版本:centos 7.4.1708
docker版本:1.12.6
用yum命令安装完docker后,非root用户运行docker命令的时候老是提示“Cannot connect to the Docker daemon. Is the docker daemon running on this host?”
原因:
- 从0.5.2开始docker的守护进程总是以root用户来运行。docker守护进程绑定的是Unix的socket而不是一个TCP端口。Unix的socket默认属于root用户,所以,使用docker时必须加上sudo。
- 从0.5.3开始,创建一个名为docker组,然后将用户加入这个组内。当docker守护进程启动时,它会把Unix的读写权限赋予docker组。这样,当你作为docker组内用户使用docker客户端时,你就无须使用sudo了。
解决方案:①用root用户执行;②添加一个docker用户组,并把需要用到docker的用户加到该用户组中。
注:添加用户到用户组后,需要重启docker服务;如果是用xshell工具远程连接,貌似需要关闭会话后重新连接,才会生效。