• 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
    
    • 1
    • 2

    2、检查 docker 用户组是否存在

    [root@demo ~]# cat /etc/group |grep docker
    docker:x:1000:
    
    • 1
    • 2

    如果不存在用户组 docker,创建命令为 groupadd docker

    3、如果第1步查看 /var/run/docker.sock 不在 docker 用户组中,则需要将 docker.sock 添加到 docker 用户组中

    [root@demo ~]# chgrp docker /var/run/docker.sock
    
    • 1

    授权操作

    为了演示,本例重新创建一个普通用户 test1

    1、创建用户

    [root@demo ~]# adduser test1
    [root@demo ~]# passwd test1
    
    • 1
    • 2

    2、将普通用户添加到 docker 用户组中

    [root@demo ~]# gpasswd -a test1 docker
    
    • 1

    验证

    切换到普通用户操作 docker 命令验证效果

    1、切换到普通用户

    [root@demo ~]# su - test1
    
    • 1

    2、查看当前用户所属组

    [test1@demo ~]$ id
    uid=1000(test1) gid=1001(test1) groups=1001(test1),1000(docker)
    
    • 1
    • 2

    3、执行docker命令验证结果

    [test1@demo ~]$ docker images
    REPOSITORY       TAG       IMAGE ID       CREATED         SIZE
    [test1@demo ~]$ docker ps
    CONTAINER ID   IMAGE       COMMAND       CREATED       STATUS         PORTS         NAMES
    
    • 1
    • 2
    • 3
    • 4

    (END)

  • 相关阅读:
    QT建立TCP服务器
    页面解析之结构化数据
    23种设计模式之---单例模式
    【计算机基础-二进制位运算】
    【pod进阶】
    计算二值化图片的迭代次数
    揭开神秘面纱,会stream流就会大数据
    小程序+Php获取微信手机号
    GreenPlum优化点之参数篇
    算法与数据结构 - 散列表
  • 原文地址:https://blog.csdn.net/catoop/article/details/128115588