Ubuntu免sudo使用Docker

轉載申明

本文轉自 如何免 sudo 使用 docker

簡介

默認安裝完 docker 後,每次執行 docker 都需要運行 sudo 命令,非常浪費時間影響效率。如果不跟 sudo,直接執行 docker images 命令會有如下問題:

Get http:///var/run/docker.sock/v1.15/containers/json: dial unix /var/run/docker.sock: permission denied

於是考慮如何免 sudo 使用 docker,經過查找資料,發現只要把用戶加入 docker 用戶組即可,具體用法如下。

免 sudo 使用 docker

如果還沒有 docker group 就添加一個:

sudo groupadd docker

ubuntu下,通過一下命令來看有沒有group

cat /ect/group

將用戶加入該 group 內。然後退出並重新登錄就生效啦。

sudo gpasswd -a ${USER} docker

重啓 docker 服務

sudo service docker restart

group 或者重啓 X 會話

newgrp - docker
或者
pkill X

注意,最後一步是必須的,否則因爲 groups 命令獲取到的是緩存的組信息,剛添加的組信息未能生效,所以 docker images 執行時同樣有錯。

原因分析

因爲 /var/run/docker.sock 所屬 docker 組具有 setuid 權限

$ sudo ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 May  1 21:35 /var/run/docker.sock
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章