官方文档权限介绍
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 only access it using `sudo`. The Docker daemon always runs as the `root` user.
If you don’t want to preface the docker
command with sudo
, create a Unix group called docker
and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the docker
group.
Docker守护进程绑定到一个Unix套接字,而不是一个TCP端口。默认情况下,Unix 套接字由用户 root
拥有,其他用户只能使用 sudo
访问它。.Docker守护进程总是以root
用户的身份运行。
如果你不想在docker命令前加上sudo,可以创建一个名为docker的Unix组,并将用户加入其中。当Docker守护进程启动时,它会创建一个Unix套接字,供docker组的成员访问。
普通用户执行权限添加
1、创建 docker
用户组
sudo groupadd docker
2、添加你想用普通用户权限的用户名到 docker
用户组
sudo usermod -aG docker $USER
3、系统重启后就可以使用普通用户权限执行 docker
, 如果不想重启,可以使用下面的命令更新并激活组权限
newgrp docker
4、验证设置是否成功
docker run hello-world
如果出现下面错误提示,重启电脑即可。
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied