将用户添加到docker组

1.查看docker用户组

cat /etc/group | grep 'docker'

2. 添加当前用户加入docker用户组

sudo gpasswd -a ${USER} docker

${USER}就可以帮我们获取到当前登录的用户

3.更新docker组的信息

newgrp docker

 可再次查看docker用户组,可以看到当前用户已经成功添加到docker用户组中。

执行完该命令之后,就可以在当前终端中,不适用sudo执行docker相关命令了。

newgrp命令用于启动一个新的shell,将其用户组更改为指定的组(在这种情况下是docker组),并且用户组成员身份也被更改为新的组。这使得用户可以在不注销的情况下切换到另一个组的身份,但这种更改只在当前shell会话中有效,关闭终端后将会失效。

 因为只在当前会话有效,所以执行完该命令后,我们在当前终端中实行docker的命令,不需要添加sudo,但是如果打开一个新的终端,执行docker images还是会提示权限不足。

如果关闭该终端窗口,会提示有正在执行的进程,关闭会杀死该进程。

上网查了资料,如何关闭了终端或者重新登录后,仍然可以不使用sudo执行docker命令,尝试了注销再次重新登录,重启虚拟机,都没有用。

可以执行下面的操作:

4.查看/var/run/docker.sock文件的权限

ll /var/run/docker.sock

输出如下结果:

srw-rw-rw- 1 root docker 0 2月  21 12:10 /var/run/docker.sock=

5.修改/var/run/docker.sock文件的权限

sudo chmod o+rw /var/run/docker.sock

该命令的作用是修改/var/run/docker.sock文件的权限,使得其他用户(o代表其他用户)拥有对该文件的读(r)和写(w)权限。通常情况下,Docker守护进程将该文件的权限设置为仅允许Docker守护进程以及属于docker组的用户访问。通过这个命令,您向其他用户授予了对Docker套接字的读写权限,这意味着其他用户可以通过该套接字与Docker守护进程进行通信,而不需要通过sudo命令获取root权限。

 修改完文件的权限之后,在当前终端会话中、新的终端会话中、注销重新登录,打开新的终端。都可以不使用sudo执行docker命令了。

但是重启虚拟机之后,就失效了,执行docker相关的命令还是权限不足

要么添加sudo

要么重复上面操作2,3 或 操作5。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值