2 回答

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊
如何免 sudo 使用 docker方法如下: 如果還沒有 docker group 就添加一個: sudo groupadd docker 將用戶加入該 group 內(nèi)。然后退出并重新登錄就生效啦。 sudo gpasswd -a ${USER} docker 重啟 docker 服務(wù) sudo service docker restart 切換

TA貢獻(xiàn)1909條經(jīng)驗 獲得超7個贊
by Falcon ofTinyLab.org
2015/05/02
目錄
1 簡介
2 免 sudo 使用 docker
3 原因分析
簡介
默認(rèn)安裝完 docker 后,每次執(zhí)行 docker 都需要運(yùn)行 sudo 命令,非常浪費(fèi)時間影響效率。如果不跟 sudo,直接執(zhí)行 docker images 命令會有如下問題:
FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
于是考慮如何免 sudo 使用 docker,經(jīng)過查找資料,發(fā)現(xiàn)只要把用戶加入 docker 用戶組即可,具體用法如下。
免 sudo 使用 docker
如果還沒有 docker group 就添加一個:
sudo groupadd docker
將用戶加入該 group 內(nèi)。然后退出并重新登錄就生效啦。
sudo gpasswd -a ${USER} docker
重啟 docker 服務(wù)
sudo service docker restart
切換當(dāng)前會話到新 group 或者重啟 X 會話
newgrp - docker
OR
pkill X
注意,最后一步是必須的,否則因為 groups 命令獲取到的是緩存的組信息,剛添加的組信息未能生效,所以 docker images 執(zhí)行時同樣有錯。
原因分析
因為 /var/run/docker.sock 所屬 docker 組具有 setuid 權(quán)限
$ sudo ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 May 1 21:35 /var/run/docker.sock
- 2 回答
- 0 關(guān)注
- 570 瀏覽
添加回答
舉報