解決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下親測(cè),其他linux沒有測(cè)試。
補(bǔ)充:linux下docker安裝,以及配置不使用sudo命令執(zhí)行docker
安裝執(zhí)行以下命令即可
wget -qO- https://get.docker.com/ | sh
不使用sudo命令執(zhí)行docker
為什么需要?jiǎng)?chuàng)建docker用戶組?Docker守候進(jìn)程綁定的是一個(gè)unix socket,而不是TCP端口。這個(gè)套接字默認(rèn)的屬主是root,其他是用戶可以使用sudo命令來訪問這個(gè)套接字文件。因?yàn)檫@個(gè)原因,docker服務(wù)進(jìn)程都是以root帳號(hào)的身份運(yùn)行的。
為了避免每次運(yùn)行docker命令的時(shí)候都需要輸入sudo,可以創(chuàng)建一個(gè)docker用戶組,并把相應(yīng)的用戶添加到這個(gè)分組里面。當(dāng)docker進(jìn)程啟動(dòng)的時(shí)候,會(huì)設(shè)置該套接字可以被docker這個(gè)分組的用戶讀寫。這樣只要是在docker這個(gè)組里面的用戶就可以直接執(zhí)行docker命令了。
警告:該dockergroup等同于root帳號(hào),具體的詳情可以參考這篇文章: Docker Daemon AttackSurface .
1 使用有sudo權(quán)限的帳號(hào)登錄系統(tǒng)。
2 創(chuàng)建docker分組,并將相應(yīng)的用戶添加到這個(gè)分組里面。
sudo usermod -aG docker your_username
3 退出,然后重新登錄,以便讓權(quán)限生效。
4 確認(rèn)你可以直接運(yùn)行docker命令。
$ docker run hello-world
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. XML在語音合成中的應(yīng)用2. jscript與vbscript 操作XML元素屬性的代碼3. 不要在HTML中濫用div4. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)5. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別6. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語句)7. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)8. XML入門的常見問題(三)9. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)10. HTTP協(xié)議常用的請(qǐng)求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))
