Linux 普通用户执行 docker 命令
创始人
2024-03-04 12:33:25
0

在有些环境中,安装 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)

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...