以非 root 用户身份管理 Docker 

root,其他用户只能使用sudo。root用户身份运行。docker 命令前加上sudo,请创建一个名为 Unix 组 docker 并将用户添加到其中。当 Docker 守护进程启动时,它会创建一个可供 docker 组成员访问的 Unix 套接字。

警告:

该docker组授予与root 用户等效的权限。有关这如何影响系统安全性的详细信息,请参阅 Docker Daemon Attack Surface(https://docs.docker.com/engine/security/#docker-daemon-attack-surface)。

注意:

要在没有 root 权限的情况下运行 Docker,请参阅 以非 root 用户身份运行 Docker 守护程序(无根模式 https://docs.docker.com/engine/security/rootless/)。

docker组并添加您的用户:

1、创建 docker 用户组:

sudo groupadd docker

2、将您的用户添加到docker组中。

sudo usermod -aG docker $USER

3、注销并重新登录,以便重新评估您的组成员身份。

newgrp docker

4、验证您是否可以在docker没有sudo.

docker run hello-world

  此命令下载 test image 并在容器中运行它。当容器运行时,它会打印一条消息并退出。

sudo在将用户添加到docker组之前最初使用 Docker CLI 命令运行,您可能会看到以下错误,这表明您的~/.docker/目录是由于sudo命令而使用不正确的权限创建的。

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

~/.docker/目录(它会自动重新创建,但会丢失任何自定义设置),或使用以下命令更改其所有权和权限:

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
 sudo chmod g+rwx "$HOME/.docker" -R