通常我们使用Docker的时候都是使用的root,官方说法如下

The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user.
To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

下面是使用非root用户操作的步骤:

#创建docker组

sudo groupadd docker

#将当前用户加入docker组

sudo gpasswd -a ${USER} docker

#重新启动docker服务(下面是CentOS7的命令)

sudo service docker restart
或  sudo systemctl restart docker √

#当前用户退出系统重新登陆
这里我是采用: 添加链接描述

  1. 将当前非root用户的group切换到docker用户组
newgrp docker
  1. 执行docker image ls验证当前的非root用户是否获得了docker使用权,被授权了则会打印本地镜像,否则显示禁止访问/var/run/docker.sock
docker image ls

#运行docker命令

docker ps

完成!

注意:这样只是实现了使用非root用户执行docker命令可以不加sudo去增加权限,但是并不代表在设置了权限控制必须是root才有管理员权限的系统中,其他的命令也可以不加sudo!!!