Linux 普通用户执行 docker 命令
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 普通用户执行 docker 命令相关的知识,希望对你有一定的参考价值。
在有些环境中,安装 docker 可以提供 root 命令安装,但是后期的 docker 镜像和容器的维护可能不允许 root 用户操作,这种情况就需要给普通用户授权可以操作 docker 命令。
主要的底层逻辑就是将普通用户添加到 docker 用户组中,命令操作步骤如下:
用户组检查
以下操作使用 root 用户操作
1、检查 docker.sock 文件所属用户组
[root@demo ~]# ll /var/run/docker.sock
srw-rw---- 1 root docker 0 Nov 25 13:51 /var/run/docker.sock
2、检查 docker 用户组是否存在
[root@demo ~]# cat /etc/group |grep docker
docker:x:1000:
如果不存在用户组 docker,创建命令为
groupadd docker
3、如果第1步查看 /var/run/docker.sock
不在 docker 用户组中,则需要将 docker.sock 添加到 docker 用户组中
[root@demo ~]# chgrp docker /var/run/docker.sock
授权操作
为了演示,本例重新创建一个普通用户 test1
1、创建用户
[root@demo ~]# adduser test1
[root@demo ~]# passwd test1
2、将普通用户添加到 docker 用户组中
[root@demo ~]# gpasswd -a test1 docker
验证
切换到普通用户操作 docker 命令验证效果
1、切换到普通用户
[root@demo ~]# su - test1
2、查看当前用户所属组
[test1@demo ~]$ id
uid=1000(test1) gid=1001(test1) groups=1001(test1),1000(docker)
3、执行docker命令验证结果
[test1@demo ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[test1@demo ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(END)
以上是关于Linux 普通用户执行 docker 命令的主要内容,如果未能解决你的问题,请参考以下文章
dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题
dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题
dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题
dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题