第一次安装Docker,运行docker命令是可以的,如
docker ps
重启系统之后,运行docker ps后出现如下报错:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
查找资料后,知道了这是权限问题。需要root用户才能运行。
从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命令:
sudo su //切换到root
service docker start //启动docker service
docker images //显示所有images
docker ps //重新运行docker命令
第二种:
把当前用户加到docker用户组中:
#添加docker用户组
sudo groupadd docker
#把自己加到docker用户组中
sudo gpasswd -a myusername docker
#重启docker后台服务
sudo service docker restart
重启系统,直接运行docker命令就行了,不用加上sudo。