问题原因:
docker进程使用Unix Socket而不是TCP端口。默认情况下,Unix socket属于root用户,需要root权限才能访问。
解决方法:
docker守护进程时,默认赋予名字为docker的用户组读写Unix socket的权限,所以我们只要创建docker用户组,并将当前用户加载到docker用户组就可以让当前用户访问Unix socket了,同时也可使操作docker相关命令了。
上命令:
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组 newgrp docker #更新用户组 docker ps #列出所有容器则成功