解決Docker必須使用sudo操作的問題
1.創建docker組:sudo groupadd docker
2.將當前用戶加入docker組:sudo gpasswd -a ${USER} docker
3.重啟服務:sudo service docker restart
4.刷新docker成員:newgrp - docker
【注】:在ubuntu下親測,其他linux沒有測試。
補充:linux下docker安裝,以及配置不使用sudo命令執行docker
安裝執行以下命令即可
wget -qO- https://get.docker.com/ | sh
不使用sudo命令執行docker
為什么需要創建docker用戶組?Docker守候進程綁定的是一個unix socket,而不是TCP端口。這個套接字默認的屬主是root,其他是用戶可以使用sudo命令來訪問這個套接字文件。因為這個原因,docker服務進程都是以root帳號的身份運行的。
為了避免每次運行docker命令的時候都需要輸入sudo,可以創建一個docker用戶組,并把相應的用戶添加到這個分組里面。當docker進程啟動的時候,會設置該套接字可以被docker這個分組的用戶讀寫。這樣只要是在docker這個組里面的用戶就可以直接執行docker命令了。
警告:該dockergroup等同于root帳號,具體的詳情可以參考這篇文章: Docker Daemon AttackSurface .
1 使用有sudo權限的帳號登錄系統。
2 創建docker分組,并將相應的用戶添加到這個分組里面。
sudo usermod -aG docker your_username
3 退出,然后重新登錄,以便讓權限生效。
4 確認你可以直接運行docker命令。
$ docker run hello-world
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
1. php測試程序運行速度和頁面執行速度的代碼2. ASP中常用的22個FSO文件操作函數整理3. 三個不常見的 HTML5 實用新特性簡介4. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析5. ASP調用WebService轉化成JSON數據,附json.min.asp6. SharePoint Server 2019新特性介紹7. React+umi+typeScript創建項目的過程8. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析10. php網絡安全中命令執行漏洞的產生及本質探究
