一、为什么要有docker用户组?

根本原因: Linux的设备访问权限控制机制

Docker守护进程(dockerd)运行时会创建一个特殊的Unix套接字文件,如:/var/run/docker.sock。
这个文件就像一个“门”,所有docker命令(如docker ps, docker run)都要通过它和Docker引擎通信。

查看该文件权限示例:
bash示例:

ls -l /var/run/docker.sock

输出可能类似:
在这里插入图片描述
解释:

  • s:表示这是一个socket文件
  • rw-rw----:权限说明
    • root用户:可读可写
    • docker组:可读可写
    • 其他人:无权限

所以:
只有root用户或docker组的成员才能访问这个文件,即:这两个类型用户可以直接使用docker相关命令。其他用户如:ubuntu等都不能直接使用,需要加上sudo执行才可以。但是加上sudo需要每次都输入密码就太麻烦了,这里我们可以将当前用户加入到docker用户组中,这样之后就可以直接使用docker命令了。

二、如何验证docker用户组是否存在?

方法1:查看docker组(推荐)

bash示例:

getent group docker

输出类似:
在这里插入图片描述
解释:
表示docker组GID是999,暂时没有成员。

方法 2:查看系统所有组

bash示例:

cat /etc/group | grep docker

效果同上。
在这里插入图片描述

方法 3:查看当前用户所属的所有组

bash示例:

groups $USER

执行如下:
在这里插入图片描述
解释:
如上说明:你的用户nnnnn用户不在docker组中,所以无法访问/var/run/docker.sock

或执行:

id $USER

在这里插入图片描述

三、当前用户加入到docker用户组

将当前用户加入docker组。
bash示例:

sudo usermod -aG docker $USER

刷新组权限(当前会话生效)
bash示例:

newgrp docker

验证是否生效
bash示例:

docker ps 

执行效果如下:
在这里插入图片描述
不在提示permission denied,说明执行成功了。

四、Docker权限 ≈ root权限

注意:
能操作Docker的用户,实际上拥有接近root的权限,因为:
bash示例:

docker run -v /:/host ubuntu chroot /host

可以访问整个系统文件!

所以:

  • 不要随意将普通用户加入docker组
  • 生产环境建议使用更细粒度的权限控制(如rootless mode)

向阳而生,Dare To Be!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94012.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94012.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94012.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言---函数的递归与迭代

递归的理解与限制条件 所谓函数递归就是递推加回归的过程,就是函数自己调用自己。递归的思想就是把复杂的问题拆分成与原来那个大问题相似的子问题来求解,大事化小,像剥洋葱一样,最终把问题解决。 递归的限制条件: 一个…

freqtrade在docker运行一个dryrun实例

检查配置 freqtrade trade --config user_data/config.json --strategy MlStrategy config文件,这个配置做期货为主,静态配置了交易对,同时端口和第一个bot要不一样,不然没有办法进行监控,甚至要冲突了。10S钟进行循环&#xff0c…

单片机学习笔记.PWM

PWM原理: 频率占空比:精度占空比变化步距 电机驱动电路:利用PWM实现呼吸灯代码 sbit LEDP2^0;//引脚定义unsigned char Time,i;//变量定义void Delay(unsigned int t)//定义延时 {while(t--); }main函数里:int main() {unsigned c…

【Git】解决使用SSH连接远程仓库时需要多次输入密码的问题

问题产生的原因:你的SSH私钥设置了密码短语(passphrase)。解决问题的方法:使用SSH代理(ssh-agent),ssh-agent是一个后台运行程序,它会记住你解锁过的SSH私钥的密码短语,这…

机器学习—逻辑回归

一介绍逻辑回归是处理二分类问题的线性模型,通过sigmoid函数将线性输出映射到[0,1],输出事件发生概率,广泛用于预测与分类。如果做坐标的话,特征就是p1和p2,结果就是y红的与绿的 二Sigma函数代码说明Sigmoid 函数定义&…

深入解读OpenTelemetry分布式链路追踪:原理与实践指南

深入解读OpenTelemetry分布式链路追踪:原理与实践指南 分布式系统在微服务架构下,服务调用链越来越复杂,追踪单次请求在各个微服务之间的执行情况成为运维与性能优化的关键。作为新一代开源标准,OpenTelemetry为分布式追踪、指标与…

【0基础PS】PS工具详解--图案图章工具

目录前言一、图案图章工具基础认知​二、工具选项栏参数详解​三、图案图章工具应用案例​总结前言 在 Adobe Photoshop 这一强大的图像处理软件中,图案图章工具是一个独具特色的功能,它允许用户利用预先定义好的图案进行绘画操作。 一、图案图章工具基…

剧本杀小程序系统开发:构建数字化剧本杀生态圈

在快节奏的现代生活中,人们越来越渴望在闲暇之余找到一种既能放松心情又能增进社交的方式。剧本杀,作为一种集推理、表演、社交于一体的新兴娱乐形式,恰好满足了这一需求。然而,随着市场的不断扩大,如何保持剧本杀的新…

【DL学习笔记】计算图与自动求导

计算图计算图(Computation Graph)是一种用于描述计算过程的图形化表示方法。在深度学习中,计算图通常用于描述 网络结构、运算过程 和数据流向。计算图是一种有向无环图,用图形方式来表示算子与变量之间的关系,直观高效…

大型地面光伏电站开发建设流程

​地面电站特特点:规模大,通常占用土地、水面等,地面式选址选项多,且不断拓展出新的用地模式,地面式选址集中在山体、滩涂、沼泽、戈壁、沙漠、受污染土地等闲置或废弃土地上。

除数博弈(动态规划)

爱丽丝和鲍勃一起玩游戏&#xff0c;他们轮流行动。爱丽丝先手开局。最初&#xff0c;黑板上有一个数字 n 。在每个玩家的回合&#xff0c;玩家需要执行以下操作&#xff1a;选出任一 x&#xff0c;满足 0 < x < n 且 n % x 0 。用 n - x 替换黑板上的数字 n 。如果玩家…

一起学springAI系列一:初体验

Spring AI是干嘛的官网最权威&#xff0c;直接粘贴&#xff1a;“Spring AI”项目旨在简化那些包含人工智能功能的应用程序的开发过程&#xff0c;同时避免不必要的复杂性。AI相关领域的功能对python的支持是最好的&#xff0c;相关供应商在出了啥功能的时候&#xff0c;都会优…

Ext JS极速项目之 Coworkee

ExtJS Coworkee 是什么? Ext JS 的 Coworkee 是一个由 Sencha 官方提供的完整员工管理应用示例,旨在展示 Ext JS 框架在企业级应用开发中的能力。 在线试用的地址是: https://examples.sencha.com/coworkee/#home 页面效果与布局 登录页面: 主页效果 左右分区结构:左…

飞算科技:原创技术重塑 Java 开发,引领行业数智化新浪潮

在科技革新的浪潮中&#xff0c;飞算科技作为一家坚持自主创新的数字科技企业&#xff0c;同时也是国家级高新技术企业&#xff0c;正深耕互联网科技、大数据、人工智能等前沿领域&#xff0c;为众多企业的数字化与智能化转型提供强劲动力。​飞算科技的成长轨迹&#xff0c;是…

cesium FBO(一)渲染到纹理(RTT)

一听到三维的RTT&#xff08;Render To Texture&#xff09;&#xff0c;似乎很神秘&#xff0c;但从底层实现一看&#xff0c;其实也就那样&#xff0c;设计API的哪些顶级家伙已经帮你安排的明明白白了&#xff0c;咱们只需要学会怎么用就可以了。我认为得从WebGL入手&#xf…

PNP机器人机器人学术年会展示灵巧手动作捕捉方案。

2025年8月1-3日&#xff0c;第六届中国机器人学术年会&#xff08;CCRS2025&#xff09;在长沙国际会议中心举行&#xff0c;主题“人机共融&#xff0c;智向未来”。PNP机器人与灵巧智能联合展出最新灵巧手模仿学习方案&#xff1a;基于少量示教数据即可快速复现复杂抓取动作&…

【45】C#入门到精通——C#调用C/C++生成动态库.dll及C++ 生成动态库.dll ,DllImport()方式导入 C++动态库.dll方法总结

文章目录1 C 生成动态库.dll2 C#调用C/C生成动态库.dll2.1 [DllImport()] 方式导入 C动态库.dll2.2 调用测试3 C/C 生成通用dll,改进3.1改进后.h3.2 .cpp3.2 C# 调用4 [DllImport()] 方式导入C生成的 .dll 总结4.1 指定路径导入4.2 .dll放在 执行目录下&#xff08;一定要放对&…

从协议栈到ath12k_mac_op_tx的完整调用路径

文章目录 从协议栈到ath12k_mac_op_tx的完整调用路径 1. 整体架构概览 2. 详细调用路径分析 2.1 应用层到Socket层 2.2 协议层处理 2.3 网络设备层到mac80211 2.4 mac80211发送入口 2.5 mac80211核心发送处理 2.6 mac80211发送核心处理 2.7 mac80211发送调度 2.8 最终驱动调用 …

WPFC#超市管理系统(4)入库管理

入库管理7. 商品入库管理7.2 入库实现显示名称、图片、单位7.3 界面设计7.3 功能实现7. 商品入库管理 数据库中StockRecord表需要增加商品出入库Type类型为nvarchar(50)。C#中的数据库重新同步StockRecord表在Entity→Model中新建枚举类型StockType namespace 超市管理系统.E…

CSS 打字特效

效果图.wxml <view class"tips"><text>{{ tipsText }}</text><text class"tips-line">|</text> </view>.wxss .tips{padding: 50rpx 100rpx;font-size: 28rpx; } .tips-line{color: #ccc;animation: tips-line .5s al…