docker配置普通用户访问
文章目录
- 🌕方法一:让所有用户都可以使用docker
- 🌙创建docker用户组
- 🌙把当前用户加入docker用户组
- 🌙单独把某个用户加入docker用户组
- 🌙更新激活docker用户组
- 🌙验证不需要sudo执行docker命令
- 🌙如果执行上面的命令之后不行,则重启Docker服务:
- 🌕方法二:让所有用户都可以使用docker(需要重启)
- 🌙添加所有用户为docker的用户
- 🌙重启docker服务
- 🌙测试普通用户能不能使用docker
- 🌙为什么要sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 🌕方法三:文心的方法
- 🌙步骤1:创建docker用户组
- 🌙步骤2:将用户添加到docker组
- 🌙步骤3:重新登录
- 🌙步骤4:验证权限
- 🌙重启Docker服务:
🌕方法一:让所有用户都可以使用docker
🌙创建docker用户组
sudo groupadd docker
🌙把当前用户加入docker用户组
sudo usermod -aG docker $USER
🌙单独把某个用户加入docker用户组
sudo usermod -aG docker 用户名
🌙更新激活docker用户组
newgrp docker
🌙验证不需要sudo执行docker命令
docker run hello-world
🌙如果执行上面的命令之后不行,则重启Docker服务:
在某些情况下,你可能需要重启Docker服务以使更改生效。你可以使用以下命令:
sudo systemctl restart docker
检查组成员:你可以使用以下命令检查哪些用户属于docker组:
getent group docker
🌕方法二:让所有用户都可以使用docker(需要重启)
🌙添加所有用户为docker的用户
sudo usermod -aG docker $USER
reboot
🌙重启docker服务
systemctl start docker
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
service docker restart
🌙测试普通用户能不能使用docker
docker run hello-world
🌙为什么要sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 这个命令并不是直接让普通用户使用 Docker 的必需步骤。然而,这个命令中的某些软件包可能对设置或管理 Docker 环境有所帮助,具体取决于您的目标和系统配置。
让我们逐一看看这些软件包的作用:
apt-transport-https:这个软件包允许 apt(APT 包管理工具)通过 HTTPS 协议下载软件包。这对于从使用 HTTPS 的软件仓库(repository)安装软件包是必要的。如果您的 Docker 安装源或任何 Docker 相关的软件仓库是通过 HTTPS 提供的,那么安装 apt-transport-https 是有必要的。
ca-certificates:这个软件包包含了 Mozilla 的 CA(证书颁发机构)证书捆绑包,用于验证 SSL/TLS 证书的合法性。这对于确保通过 HTTPS 的安全通信至关重要。
curl:curl 是一个命令行工具,用于从服务器传输数据。它支持多种协议,包括 HTTP、HTTPS、FTP 等。虽然 Docker 本身不需要 curl 来运行,但 curl 在管理和配置 Docker(例如,从远程服务器下载 Docker 配置文件或脚本)时可能非常有用。
software-properties-common:这个软件包提供了 add-apt-repository 命令,该命令允许用户添加新的 APT 软件仓库。虽然这通常用于添加第三方软件仓库,但它与 Docker 的直接关系不大。然而,如果您打算添加 Docker 的官方仓库或任何第三方 Docker 仓库,那么安装 software-properties-common 将是有用的。
🌕方法三:文心的方法
在Ubuntu上,默认情况下,Docker守护进程(daemon)以root用户身份运行,并且只有root用户或具有sudo权限的用户才能直接运行Docker命令。然而,你可以通过以下步骤将Docker权限授予普通用户,而无需每次都使用sudo。
🌙步骤1:创建docker用户组
Docker安装过程中通常会创建一个名为docker的用户组。如果组不存在,你可以手动创建:
sudo groupadd docker
🌙步骤2:将用户添加到docker组
将你的普通用户添加到docker组中。假设你的用户名是your_username,你可以使用以下命令:
单独指定一个人使用docker
sudo usermod -aG docker your_username
指定所有用户都可以使用docker
sudo usermod -aG docker $USER
🌙步骤3:重新登录
为了使组成员身份生效,你需要重新登录。你可以注销并重新登录,或者重新启动系统。如果你不想重新登录,可以使用newgrp命令临时切换到新的组:
newgrp docker
🌙步骤4:验证权限
重新登录后,你可以验证是否成功获得了Docker权限。运行以下命令,无需使用sudo:
docker run hello-world
如果一切正常,你应该会看到Docker的Hello World消息,这表明你现在可以无需sudo权限运行Docker命令。
🌙重启Docker服务:
在某些情况下,你可能需要重启Docker服务以使更改生效。你可以使用以下命令:
sudo systemctl restart docker
检查组成员:你可以使用以下命令检查哪些用户属于docker组:
getent group docker
通过这些步骤,你可以让普通用户无需sudo权限即可访问和运行Docker命令。
相关文章:
docker配置普通用户访问
文章目录 🌕方法一:让所有用户都可以使用docker🌙创建docker用户组🌙把当前用户加入docker用户组🌙单独把某个用户加入docker用户组🌙更新激活docker用户组🌙验证不需要sudo执行docker命令&…...
php后端学习,Java转php
遇到前后端跨域 php解决跨域问题可以加上下面的代码: header(“Access-Control-Allow-Origin:*”); 并且查看自己的数据库信息是否连接成功。 从Java转php 个人感受php跟偏向前端, 写后端逻辑时没有像java又springboot工具方便。 但是和前端联调很方便…...
Elasticsearch 中管道介绍
Elasticsearch 中管道 文章目录 Elasticsearch 中管道1、管道( Ingest Pipeline)1.**管道描述**2.**处理器(Processors)**(1)**`attachment`处理器**(2)**`remove`处理器**3.**整体流程**4.**应用场景**示例:如何使用该管道总结2、如何设置`attachment`处理器取出`指定…...
将jinjia2后端传到前端的字典数据转化为json
后端代码 from flask import Flask, render_template, jsonifyapp Flask(__name__)app.route(/) def index():data {key: value, number: 123}return render_template(index.html, datadata)if __name__ __main__:app.run(debugTrue) 前端代码 使用tojson过滤器即可 <!…...
Linux中如何理解一切皆文件
根据之前的学习我们会有一些少许的疑惑,我们的stdin ,stdout,stderr访问的是键盘显示器,然而键盘显示器等他们都有一个共同的特点就是他们都是外设,那么这些外设是怎么被看成是文件的呢? 看图可以知道硬件的…...
【贪心算法】(第十一篇)
目录 坏了的计算器(medium) 题目解析 讲解算法原理 编写代码 合并区间(medium) 题目解析 讲解算法原理 编写代码 坏了的计算器(medium) 题目解析 1.题目链接:. - 力扣(Leet…...
React(五) 受控组件和非受控组件; 获取表单元素的值。高阶组件(重点),Portals; Fragment组件;严格模式StrictMode
文章目录 一、受控组件1. 什么是受控组件2. 收集input框内容3. 收集checkBox的值4. 下拉框select总结 二、非受控组件三、高阶组件1. 高阶组件的概念 (回顾高阶函数)2. 高阶组件应用:注入props(1) 高阶组件给---函数式组件注入props(2) 高阶组件给---类组件注入prop…...
深入解析 Jenkins 自动化任务链:三大方法实现任务间依赖与状态控制
文章目录 前言1. 使用 “Build Trigger”(构建触发器)2. 使用 Jenkins Pipeline 实现任务触发3. 使用 Jenkins 的 “Parameterized Trigger Plugin” 插件例子1:任务 A 成功后自动执行任务 B例子2:任务 A 成功后自动执行 Pipeline…...
无人机飞手执照培训为什么需要脱产学习?
无人机飞手执照培训需要脱产学习的原因主要基于以下几个方面: 一、知识体系的系统性与复杂性 无人机飞手培训涵盖的内容广泛且深入,包括无人机基础知识、飞行原理、气象学、法律法规等多个方面。这些知识体系相互关联,需要学员进行系统的学…...
PostgreSQL(十三)pgcrypto 扩展实现 AES、PGP 加密,并自定义存储过程
目录 一、pgcrypto 简介1.1 安装 pgcrypto 扩展1.2 pgcrypto 包含的函数 二、用法①:对称加密(使用 AES、Blowfish 算法)2.1 密钥2.2 密钥偏移量 三、用法②:PGP加解密3.1 什么是PGP算法?3.2 使用 GPG 生成密钥对3.3 列…...
uniapp使用webView打开的网页有缓存如何解决(APP,微信小程序)
1、给webView的url增加时间戳 this.webviewUrl ${url}?t${new Date().getTime()}; // 添加时间戳 2、在nginx服务器上添加响应头,告诉浏览器不可以使用缓存 location / {root /opt/webs/lcdp-client/dist;index index.html index.htm;try_files $uri $uri/ /…...
HarmonyOS 模块化设计
1.HarmonyOS 模块化设计 模块化设计文档 应用程序包开发与使用文档 1.1. 概述 组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,HarmonyOs组件化的使用,有利于模块之间的解…...
解决docker拉取readeck镜像报Error response from daemon: toomanyrequests问题
readeck 是一个内容中心,目前已支持中文翻译 这是本地化部署后的效果: 原命令为: docker run --rm -ti -p 8000:8000 -v readeck-data:/readeck codeberg.org/readeck/readeck:latest Unable to find image codeberg.org/readeck/readeck:la…...
duilib的应用 在双屏异分辨率的显示器上 运行显示不出来
背景:win11,duilib应用,双显示器,两台分辨率相同,分别设置不同的缩放以后,应用运行以后,程序闪一下消失或者程序还在,但是UI显示不出来。 原因 窗口风格设置不合理,所以…...
零代码快速开发智能体 |甘肃旅游通
在互联网信息爆炸的时代,寻找一处让人心动的旅游胜地往往需要花费大量的时间和精力。而今天,我要向大家介绍一款能够帮助你轻松规划甘肃之行的智能体——“甘肃旅游通”。这款智能体通过低代码开发,集合了丰富的旅游信息和个性化推荐功能&…...
【MATLAB源码-第187期】基于matlab的人工蜂群优化算法(ABC)机器人栅格路径规划,输出做短路径图和适应度曲线。
操作环境: MATLAB 2022a 1、算法描述 Artificial Bee Colony(ABC)算法是一种模仿蜜蜂觅食行为的优化算法,它通过模拟蜜蜂群体的社会结构和行为来解决数学优化问题。本文将详细介绍ABC算法的基本原理、算法流程、以及在实际应用…...
qt获取本地语言
获取本地语言 #define QSTRING_TO_UTF8(str) std::string(str.toUtf8()) enum LanguageType {kLanguageTypeChinese,kLanguageTypeTradition,kLanguageTypeEnglish };QLocale qlLanguage;QString qstrLangCode qlLanguage.languageToString(qlLanguage.language());LOG(INFO)…...
【Spring篇】Spring中的Bean管理
🧸安清h:个人主页 🎥个人专栏:【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯Spring IOC容器 Ὢ…...
UV灯 VS LED灯,LED美甲灯是紫外线灯吗?
美甲灯是使甲油胶固化的重要工具,目前最常用的美甲灯一般是UV灯、LED灯以及CCFL灯。 一、不同的灯之间到底有什么区别呢?这次让我们好好看一下 UV灯: UV灯是紫外线灯管的简称。UV灯属于热阴极荧光灯,发出UVA(长波紫…...
得物App3D博物馆亮相“两博会”,正品保障助力消费体验升级
近日,2024中国体育文化博览会、中国体育旅游博览会(以下简称“两博会”)在苏州国际展览中心盛大开幕。本次展会汇聚了众多国内外体育文化、体育旅游领域的顶尖企业和品牌,共同展示体育产业的发展成果和最新趋势。在C展馆C21展位&a…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
触发DMA传输错误中断问题排查
在STM32项目中,集成BLE模块后触发DMA传输错误中断(DMA2_Stream1_IRQHandler进入错误流程),但单独运行BLE模块时正常,表明问题可能源于原有线程与BLE模块的交互冲突。以下是逐步排查与解决方案: 一、问题根源…...
c++算法学习3——深度优先搜索
一、深度优先搜索的核心概念 DFS算法是一种通过递归或栈实现的"一条路走到底"的搜索策略,其核心思想是: 深度优先:从起点出发,选择一个方向探索到底,直到无路可走 回溯机制:遇到死路时返回最近…...
