当前位置:首页 >> 服务器

运行docker需要的权限分析

运行docker需要root权限。

解决非root用户没有权限运行docker命令的问题,方法如下:

方法1:

使用sudo获取管理员权限,运行docker命令,这个方法在通过脚本执行docker命令的时候会有很多局限性

方法2:

docker守护进程启动的时候,会默认赋予名为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

sudo groupadd docker   #添加docker用户组
sudo gpasswd -a $USER docker   #将登陆用户加入到docker用户组中
newgrp docker   #更新用户组

补充:

如何获得docker容器里面的root权限

首先你的container得正在运行

可通过sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID

最后执行命令(其中7509371edd48 为上面查到的CONTAINER ID)

sudo docker exec -ti -u root 7509371edd48 bash