docker不可以非root權(quán)限進(jìn)行啟動(dòng);使用docker需要root權(quán)限,沒有root權(quán)限的普通用戶將沒有辦法操作docker,若普通用戶沒有root權(quán)限,可以利用sudo獲取管理員權(quán)限,運(yùn)行docker命令,或者將當(dāng)前用戶加入到docker用戶組中,那么當(dāng)前用戶就有權(quán)限訪問“Unix socket”,進(jìn)而也就可以執(zhí)行docker相關(guān)命令。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。
docker可以非root權(quán)限啟動(dòng)嗎
docker不可以非root權(quán)限進(jìn)行啟動(dòng)
docker是需要root權(quán)限的,如果沒有root權(quán)限的普通用戶將沒有辦法操作docker。下面給出兩個(gè)修改的方法,來完成普通用戶的操作的請(qǐng)求。
解決辦法
1. 賦予普通用戶root權(quán)限
需要修改:/etc/sudoers
# 現(xiàn)在是不可更改的,需要調(diào)整權(quán)限:chmod 0755 sudoers (需要root權(quán)限的) root@SRV252:/etc# ll sudoers -r--r----- 1 root root 815 Feb 23 13:06 sudoers
將sudoers文件中的,以下內(nèi)容進(jìn)行修改
# User privilege specification root ALL=(ALL:ALL) ALL name1 ALL=(ALL:ALL) ALL # 使用sudo時(shí),仍需要密碼的 name2 ALL=(ALL:ALL) NOPASSWD: ALL # 使用sudo時(shí)候,不要密碼(免密的)
普通用戶可以使用docker了
2. 假如docker組
docker安裝之后默認(rèn)會(huì)創(chuàng)建docker組,docker組擁有讀取套接字權(quán)限,因此將該普通用戶加入docker組,該組下所有用戶有訪問unix套接字權(quán)限,最后刷新用戶的初始組即可。
2.1 查看是否有docker用戶
test@ubuntu:~$ sudo cat /etc/group |grep docker docker:x:999: # 表示存在
如果沒有需要手動(dòng)增加
sudo groupadd docker
2.2 查看 /var/run/docker.sock 的屬性
如果/var/run/docker.sock的用戶組不是docker,而是root需要使用chgrp修改。
# ll /var/run/docker.sock srw-rw---- 1 root root 0 Oct 29 22:20 /var/run/docker.sock= chgrp docker /var/run/docker.sock=
2.3 將普通用戶添加至docker組
# 添加 test@:~$ sudo gpasswd -a test docker Adding user test to group docker # 查看,此時(shí)不在,需要刷新 test@ubuntu:~$ id uid=1002(test) gid=1002(test) groups=1002(test) # 刷新 test@ubuntu:~$ newgrp docker
推薦學(xué)習(xí):《docker視頻教程》