您现在的位置是:首页 >其他 >解决Linux普通用户无法使用Docker网站首页其他

解决Linux普通用户无法使用Docker

Acloasia 2024-06-17 10:32:07
简介解决Linux普通用户无法使用Docker

目录

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博客

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。