目录
1.问题描述
2.解决方法
2.1 添加docker用户组
2.2 把当前用户加入docker用户组
2.3 查看是否添加成功
2.4 重启docker
2.5 更新用户组
2.6 测试docker命令是否可以使用
1.问题描述
当使用普通用户的时候,无法对Docker进行操作
[howlong@bogon ~]$ docker ps permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
2.解决方法
2.1 添加docker用户组
指令:
groupadd docker
实例:
[howlong@bogon ~]$ groupadd docker groupadd:“docker”组已存在
2.2 把当前用户加入docker用户组
注意:当前用户为普通用户,howlong
输入指令后,需要输入当前用户的密码,然后稍等几秒
指令:sudo gpasswd -a 当前用户名 docker
实例:
howlong@bogon ~]$ sudo gpasswd -a howlong docker [sudo] howlong 的密码: 正在将用户“howlong”加入到“docker”组中
2.3 查看是否添加成功
指令:
cat /etc/group | grep ^docker
实例:
[howlong@bogon ~]$ cat /etc/group | grep ^docker docker:x:977:howlong
2.4 重启docker
输入指令后,需要输入当前用户的密码进行验证当前操作
指令:
systemctl restart docker
实例:
[howlong@bogon ~]$ systemctl restart docker ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ==== 重新启动“docker.service”需要认证。 Authenticating as: howlong Password: ==== AUTHENTICATION COMPLETE ====
==== AUTHENTICATION COMPLETE ==== 表示:身份验证完成
2.5 更新用户组
指令:
newgrp docker
实例:
[howlong@bogon ~]$ newgrp docker
2.6 测试docker命令是否可以使用
当普通用户输入该指令,有显示结果,则测试成功,当前普通用户可以使用Docker
指令:
docker ps
实例:
[howlong@bogon ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 375e1e58c483 elasticsearch:8.6.0 "/bin/tini -- /usr/l…" 47 hours ago Up 1 second 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp es cfcc8b35079d kibana:8.6.0 "/bin/tini -- /usr/l…" 2 days ago Up Less than a second 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp kibana f990e00c18f5 apache/rocketmq "sh mqbroker -c /hom…" 2 days ago Up 13 seconds 0.0.0.0:10909->10909/tcp, :::10909->10909/tcp, 9876/tcp, 0.0.0.0:10911-10912->10911-10912/tcp, :::10911-10912->10911-10912/tcp rmqbroker d79a5b02913e redis "docker-entrypoint.s…" 9 days ago Up 14 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis a5f7873b3f0d styletang/rocketmq-console-ng:latest "sh -c 'java $JAVA_O…" 9 days ago Up 14 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp rmqadmin 627f93f60cc7 apache/rocketmq "sh mqnamesrv" 9 days ago Up 14 seconds 10909/tcp, 0.0.0.0:9876->9876/tcp, :::9876->9876/tcp, 10911-10912/tcp rmqnamesrv f0c2a0099599 mysql:8.0.32 "docker-entrypoint.s…" 5 weeks ago Up 14 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
参考文章:
1. Docker 普通用户无权限问题_jeikerxiao的博客-CSDN博客
2.【Docker】普通用户无法使用docker命令_不想睡觉的橘子君的博客-CSDN博客