解決Docker必須使用sudo操作的問題
1.創(chuàng)建docker組:sudo groupadd docker
2.將當(dāng)前用戶加入docker組:sudo gpasswd -a ${USER} docker
3.重啟服務(wù):sudo service docker restart
4.刷新docker成員:newgrp - docker
【注】:在ubuntu下親測,其他linux沒有測試。
補(bǔ)充:linux下docker安裝,以及配置不使用sudo命令執(zhí)行docker
安裝執(zhí)行以下命令即可
wget -qO- https://get.docker.com/ | sh
不使用sudo命令執(zhí)行docker
為什么需要創(chuàng)建docker用戶組?Docker守候進(jìn)程綁定的是一個unix socket,而不是TCP端口。這個套接字默認(rèn)的屬主是root,其他是用戶可以使用sudo命令來訪問這個套接字文件。因?yàn)檫@個原因,docker服務(wù)進(jìn)程都是以root帳號的身份運(yùn)行的。
為了避免每次運(yùn)行docker命令的時候都需要輸入sudo,可以創(chuàng)建一個docker用戶組,并把相應(yīng)的用戶添加到這個分組里面。當(dāng)docker進(jìn)程啟動的時候,會設(shè)置該套接字可以被docker這個分組的用戶讀寫。這樣只要是在docker這個組里面的用戶就可以直接執(zhí)行docker命令了。
警告:該dockergroup等同于root帳號,具體的詳情可以參考這篇文章: Docker Daemon AttackSurface .
1 使用有sudo權(quán)限的帳號登錄系統(tǒng)。
2 創(chuàng)建docker分組,并將相應(yīng)的用戶添加到這個分組里面。
sudo usermod -aG docker your_username
3 退出,然后重新登錄,以便讓權(quán)限生效。
4 確認(rèn)你可以直接運(yùn)行docker命令。
$ docker run hello-world
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. springboot自動配置原理解析2. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法3. 簡述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別4. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML5. springboot的yml配置文件通過db2的方式整合mysql的教程6. 深入了解JAVA 軟引用7. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題8. Python TestSuite生成測試報告過程解析9. SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解10. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
