使用docker才能运行的包越来越多了,但是很多时候docker都需要sudo权限才能运行,对于系统上非root权限的人不是那么友好,如果权限到处乱派发那么到时候一不小心有个争斗什么的或者循环写错了,然后在/下面进行rm -rf *,那么很容易所有人都完蛋。所以就需要设置一下非root用户也能使用docker。这一点最好是早设置造好,否则要是有个docker进程要一直跑着,却重启了,也很容易完蛋。
首先看一下系统的docker有什么(这里是centos7系统,但是应该Linux系统都是适用的)
(base) [lp@localhost run]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/rnakato/Test_haha latest d92f253ab9b1 5 weeks ago 3.77 kB
docker.io/hello-world latest feb5d9fea6a5 13 months ago 13.3 kB
开始设置分组
sudo groupadd docker
如果出现 groupadd : cannot open /etc/group,则运行下面两行进行解锁访问,如果没有则不需运行,直接跳过即可
sudo chattr -i /etc/gshadow ### 解锁
sudo chattr -i /etc/group ### 解锁
设置docker组别可以访问docker
sudo gpasswd -a ${USER} docker ## 将当前用户加入组docker
sudo systemctl restart docker ###重启docker
sudo chmod a+rw /var/run/docker.sock ### 赋予访问docker的权限
(base) [lp@localhost run]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/rnakato/Test_haha latest d92f253ab9b1 5 weeks ago 3.77 kB
docker.io/hello-world latest feb5d9fea6a5 13 months ago 13.3 kB
把锁加回去
sudo chattr +ia /etc/shadow
sudo chattr +ia /etc/group
docker重启或者机器重启后容易造成又需要权限的情况,root用户执行赋予docker组别用户访问docker.sock这一步骤即可,此外如果在docker分组里面增加新用户,目测也需要重新赋予docker.sock权限
网友评论