docker不可以非root權限進行啟動;使用docker需要root權限,沒有root權限的普通用戶將沒有辦法操作docker,若普通用戶沒有root權限,可以利用sudo獲取管理員權限,運行docker指令,或將目前使用者加入docker使用者群組中,那麼目前使用者就有權限存取“Unix socket”,進而也就可以執行docker相關指令。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker不可以非root權限進行啟動
docker是需要root權限的,如果沒有root權限的普通用戶將沒有辦法操作docker。下面給出兩個修改的方法,來完成一般使用者的操作的請求。
解決方案
1. 賦予一般使用者root權限
需要修改:/etc /sudoers
# 现在是不可更改的,需要调整权限:chmod 0755 sudoers (需要root权限的) root@SRV252:/etc# ll sudoers -r--r----- 1 root root 815 Feb 23 13:06 sudoers
將sudoers檔案中的,以下內容進行修改
# User privilege specification root ALL=(ALL:ALL) ALL name1 ALL=(ALL:ALL) ALL # 使用sudo时,仍需要密码的 name2 ALL=(ALL:ALL) NOPASSWD: ALL # 使用sudo时候,不要密码(免密的)
一般使用者可以使用docker了
2. 假如docker群組
docker安裝之後預設會建立docker群組,docker群組擁有讀取套接字權限,因此將該普通使用者加入docker群組,該群組下所有使用者有存取unix套接字權限,最後刷新使用者的初始組即可。
2.1 查看是否有docker使用者
test@ubuntu:~$ sudo cat /etc/group |grep docker docker:x:999: # 表示存在
如果沒有需要手動增加
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 # 查看,此时不在,需要刷新 test@ubuntu:~$ id uid=1002(test) gid=1002(test) groups=1002(test) # 刷新 test@ubuntu:~$ newgrp docker
推薦學習:《docker影片教學》
以上是docker可以非root權限啟動嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!