为了账号安全,请及时绑定邮箱和手机立即绑定

如何免 sudo 使用 docker?

如何免 sudo 使用 docker?

跃然一笑 2019-01-30 11:07:20
如何免 sudo 使用 docker
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

如何免 sudo 使用 docker方法如下: 如果还没有 docker group 就添加一个: sudo groupadd docker 将用户加入该 group 内。然后退出并重新登录就生效啦。 sudo gpasswd -a ${USER} docker 重启 docker 服务 sudo service docker restart 切换

查看完整回答
反对 回复 2019-02-28
?
jeck猫

TA贡献1909条经验 获得超7个赞

by Falcon ofTinyLab.org
2015/05/02
目录
1 简介
2 免 sudo 使用 docker
3 原因分析
简介
默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 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,经过查找资料,发现只要把用户加入 docker 用户组即可,具体用法如下。
免 sudo 使用 docker
如果还没有 docker group 就添加一个:
sudo groupadd docker

将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker

重启 docker 服务
sudo service docker restart

切换当前会话到新 group 或者重启 X 会话
newgrp - docker

OR

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



查看完整回答
反对 回复 2019-02-28
  • 2 回答
  • 0 关注
  • 515 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信