在CentOS 9 stream中使用docker时,docker命令前面不加sudo的方法

1、项目场景

每次在操作docker命令的时候都需要在前面添加sudo,但是在之前学习docker的时候却没有在命令前面加过sudo。今天才知道可能是因为当前登录的用户没有添加到docker的用户组里 所以只需要将该用户添加到docker的用户组就可以解决。


2、原因分析

具体原因为:参考文章

docker守候进程绑定的是一个unix socket,而不是TCP端口。这个套接字默认的属主是root,其他是用户可以使用sudo命令来访问这个套接字文件。因为这个原因,docker服务进程都是以root帐号的身份运行的。
为了避免每次运行docker命令的时候都需要输入sudo,可以创建一个docker用户组,并把相应的用户添加到这个分组里面。当docker进程启动的时候,会设置该套接字可以被docker这个分组的用户读写。这样只要是在docker这个组里面的用户就可以直接执行docker命令了。

3、解决方案

解决后结果如图:
在CentOS 9 stream中使用docker时,docker命令前面不加sudo的方法_第1张图片

具体代码:

# 添加docker用户组,如果已存在,不需要执行,大概率是存在的
sudo groupadd docker     
# 将登陆用户加入到docker用户组中
sudo gpasswd -a ${USER} docker
# 更新用户组
newgrp docker   
# 测试docker命令是否可以不使用sudo,并且正常使用
docker version  

你可能感兴趣的:(CentOS,9,stream,docker,centos,容器)