大多数情况下,普通用户使用 Docker 都需要使用 sudo 进行提权,否则可能要切换到 root 用户才可直接使用。其实只需要将当前用户加入 docker 用户组即可。
The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system, see Docker Daemon Attack Surface.
Post-installation steps for Linux | Docker Documentation
正常情况下应该已经存在docker用户组了,如果没有则需要:
sudo groupadd docker
来添加一个名为docker的用户组。
然后就可以将当前用户加入docker用户组:
sudo usermod -aG docker $USER
或者:
sudo gpasswd -a $USER docker
注销后重新登录即可生效。按文档,对于有图形界面的Linux,应该注销再登录即可,否则应该完全重启。如果不方便注销,可以尝试:
newgrp docker
此时应该可以不需要sudo来使用Docker了。
发现版本19.03起有一个实验性特性,以非root用户运行Docker守护进程:
dockerd-rootless.sh --experimental
引用
Post-installation steps for Linux | Docker Documentation
How can I use docker without sudo? – Ask Ubuntu
Docker security | Docker Documentation