【Docker】如何让子用户直接使用docker命令

devtools/2024/12/23 3:06:00/

本文首发于 ❄️慕雪的寒舍

通过用户组,让子用户可以直接使用docker命令。

说明

正常情况下,使用一个子用户来执行docker命令,会出现如下提示

$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/docker.sock: connect: permission denied

这个提示中的关键词是permission denied,即我们当前的子用户没有权限来执行这个命令。只有加上sudo之后才能以root身份执行这个命令。

操作

子用户可以通过加入docker的用户组的方式来直接使用docker命令

# 用户组配置
sudo groupadd docker # 创建docker用户组(安装docker的时候会被创建)
sudo usermod -aG docker ${USER} # 当前子用户加入docker用户组
sudo systemctl restart docker   # 重启docker服务# 在子用户中执行如下命令
newgrp docker  # 用相同的用户,以docker群组的身份登录bash
docker ps      # 现在不用sudo也能执行docker命令了

执行了上面这些命令后,不需要sudo子用户也可以执行docker命令啦。


http://www.ppmy.cn/devtools/99041.html

相关文章

论文翻译:Benchmarking Large Language Models in Retrieval-Augmented Generation

https://ojs.aaai.org/index.php/AAAI/article/view/29728 检索增强型生成中的大型语言模型基准测试 文章目录 检索增强型生成中的大型语言模型基准测试摘要1 引言2 相关工作3 检索增强型生成基准RAG所需能力数据构建评估指标 4实验设置噪声鲁棒性结果负面拒绝测试平台结果信息…

c++ | 模板进阶

前言 本篇博客讲解c中的模板的一些其他知识 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢…

【Java】——Java实现数组元素反转的两种方法

在编程中,我们经常会遇到需要对数组元素进行反转的需求。例如,给定一个整数数组arr {1, 2, 3, 4, 5},我们需要将其反转为{5, 4, 3, 2, 1}。下面我们将介绍两种实现数组元素反转的方法。 方法一:遍历数组一半的长度进行元素互换 …

足底筋膜炎专用药

足底筋膜炎专用药“古顺*敷堂筋膜*贴”通过其独特的药效和用法,能够针对足底筋膜炎进行有效治疗,缓解患者疼痛和不适感,促进炎症消退和肌肉恢复。长时间站立、行走或进行高强度的跑步、跳跃等活动,会使足底筋膜受到持续的牵拉和压…

C++ TinyWebServer项目总结(9. I/O 复用)

I/O 复用使得程序能够同时监听多个文件描述符,从而提高程序的性能。I/O 复用本身是阻塞的。Linux 下实现 I/O 复用的系统调用主要有 select、poll 和 epoll。 select 系统调用 select API select系统调用:在一段指定时间内,监听用户感兴趣…

docker使用的一些坑

docker使用的一些坑 1、Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql时,容器无法启动,三个解决方案 (1)在docker run中加入 –privilegedtrue 给容器加上特定权限 如原命令 d…

网络工程师学习笔记——数据通信

学习网络的基础就是数通,首先得了解数据在网络上是如何传输,以及在传输过程中是使用什么方式进行传输,以及是如何到达接受方和如何解压和加密的等等。 数字编码技术 有基本编码(单极性码,极性码,双极性码…

Kotlin学习-01创建kotlin学习环境

安装idea https://www.jetbrains.com/zh-cn/ 创建项目 选择kotlin 修改Main.kt fun main() {print("Hello World!") }运行