ubuntu 下docker 免sudo

2022-11-22  本文已影响0人  夜空最亮的9星

简介

ubuntu默认安装完 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

例如 用户user01
sudo gpasswd  -a  user01  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
上一篇下一篇

猜你喜欢

热点阅读