添加当前用户到docker组,docker命令免sudo

添加当前用户到docker组,docker命令免sudo,第1张

如果想在当前用户输入docker命令时不输入docker,需要将当前用户添加到docker组当中

1.查看docker组中用户列表

最后一个 : 后面表示为docker组中的用户列表, 如果没有当前用户名, 则需要将当前用户加入docker组当中

摘要: docker , linux

一般都是用root用户启动和 *** 作docker,当是普通用户运行容器启动项目时报错没有权限

docker守护进程后台启动时,需要读取Unix套接字 /var/run/docker.sock ,这个文件root所有,docker用户组可 *** 作,因此普通非docker组的用户没有权限访问

类似的MySQL客户端也可以使用socket进行连接,文件在/var/run/mysqld/mysqld.sock

默认是777权限,如果改成770,则非root用户或者非mysql组用户也将无法连接MySQL

退出root用户,普通用户无法报错无法通过socket连接

本质上还是使用root运行docker,只是在启动的时候可以以root用户启动docker,为了避免每次启动需要输入密码,需要给普通用户sudo权限以及可以免密码方式登录。

在/etc/sudoers文件中设置免密码

此时再使用sudo运行docker即可,在其他shell脚本中docker run前面增加sudo

如果不使用sudo则无权限 *** 作docker

docker安装之后默认会创建docker组,docker组拥有读取套接字权限,因此将该普通用户加入docker组,该组下所有用户有访问unix套接字权限,最后刷新用户的初始组即可。

先查看是否有docker用户,如果没有需要手动增加

如果/var/run/docker.sock的用户组不是docker而是root需要使用 chgrp 修改一下

将普通用户添加到docker组

此时查看test用户所在的组

发现还是没有docker组,使用 newgrp 刷新以下用户的初始组

此时再次查看用户的组以已经出现docker

然后直接以用户 *** 作docker即可

或者不使用newgrp直接重新登录即可

gpasswd是linux下组管理工具,用户添加用户到组和从组中删除用户,必须是sudo执行

测试删除和添加test用户于docker组

此时退出终端重新登录则test的docker组消失,再添加进来

添加之后在当前终端不能立刻生效,需要使用newgrp将新增加的组添加到用户组的集合中刷新,立即生效

以后退出登录后新登录进来用户的用户组都会更新生效


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11292872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存