docker配置普通用户访问

news2024/10/24 9:28:47

文章目录

  • 🌕方法一:让所有用户都可以使用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命令。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生成对抗网络基本原理

生成对抗网络(Generative Adversarial Networks,简称GANs)是由Ian Goodfellow等人在2014年提出的一种深度学习模型,它在生成模型领域引起了革命性的变化。GANs的核心思想是通过引入一个对抗过程来生成新的数据样本,这个…

【1024程序员节】MybatisPlus入门(一)MybatisPlus简介

一、MyBatis简介 MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率 - 官网:https://mybatis.plus/ https://mp.baomidou.com/ MyBatisPlus特性: - 无侵入:只做增强…

接口测试 —— Postman 变量了解一下!

Postman变量是在Postman工具中使用的一种特殊功能,用于存储和管理动态数据。它们可以用于在请求的不同部分、环境或集合之间共享和重复使用值。 Postman变量有以下几种类型: 1、环境变量(Environment Variables): 环境变量是在…

C语言程序设计:现代设计方法习题笔记《chapter3》

第一题 ​ 代码示例&#xff1a; #include<stdio.h>int main() {printf("Enter a date&#xff08;mm/dd/yyyy&#xff09;: ");int day, month, year;scanf_s("%d/%d/%d", &month, &day, &year);printf("%04d%02d%02d", yea…

stm32F103 实现呼吸灯效果

目录 硬件连接 软件实现步骤 初始化系统时钟。 配置 GPIO 引脚。 配置定时器以生成 PWM 信号。 在主循环中调整 PWM 占空比以实现呼吸效果。 示例代码 1. 初始化系统时钟 2. 配置 GPIO 引脚 3. 配置定时器以生成 PWM 信号 4. 在主循环中调整 PWM 占空比以实现呼吸效…

【读书笔记-《网络是怎样连接的》- 2】Chapter2_1-协议栈通信详细过程

第二章从协议栈这部分来看网络中的通信如何实现&#xff0c;准备从两部分来进行分解。本篇是第一部分&#xff1a;详细介绍TCP协议栈收发数据的过程。 首先来看下面的图。从应用程序到网卡需要经过如下几部分&#xff0c;上面的部分通过委托下面的部分来完成工作。首先是应用程…

URP学习(一)

URP是unity出的比较简单的可供改造引擎渲染管线的流程。能实现用较低的代价消耗实现较好的效果。 现记录学习&#xff1a; 一.如何设置URP关键 这步结束后材质会被替换 加package Create/Rendering/URP Universal Rendering Setting设置为urp 材质也需要urp目录下的 几种…

第23周Java主流框架入门-SpringMVC 3.拦截器

Spring MVC 拦截器 (Interceptor) 课程笔记 1. 什么是拦截器 (Interceptor) 拦截器 (Interceptor) 类似于我们之前学习过的 J2EE 过滤器 (Filter)。作用&#xff1a;对请求进行前置和后置的过滤处理。与 Filter 的区别&#xff1a; Interceptor 是 Spring MVC 的标准组件&…

mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.

目录 mapbox没有token/token失效&#xff0c;地图闪烁后空白&#xff0c;报错Error: A valid Mapbox access token is required to use Mapbox GL JS. 一、问题描述 二、mapbox去除token验证 1、找到mapbox-gl文件夹 2、找到mapbox-gl.js文件 3、找到对应位置并修改 4、清…

14_挂载子节点和元素的属性

目录 挂载子节点简单设置元素的属性区分 HTML Attributes 与 DOM Properties正确的设置元素属性class 的处理 挂载子节点 之前我们描述的 vnode 的 children 只是一个文本&#xff0c;children 是可以为一个数组的&#xff0c;而且大多数情况下&#xff0c;都是一个数组&#…

arm架构 ubuntu 部署docker

如果有旧版本需要卸载 sudo apt remove docker docker-engine docker-ce docker.io 安装依赖包 sudo apt update && apt install -y apt-transport-https ca-certificates curl software-properties-common 添加docker秘钥 阿里云 curl -fsSL http://mirrors.aliyu…

Java应用程序的测试覆盖率之设计与实现(二)-- jacoco agent

说在前面的话 要想获得测试覆盖率报告&#xff0c;第一步要做的是&#xff0c;采集覆盖率数据&#xff0c;并输入到tcp。 而本文便是介绍一种java应用程序部署下的推荐方式。 作为一种通用方案&#xff0c;首先不想对应用程序有所侵入&#xff0c;其次运维和管理方便。 正好…

OAK相机的RGB-D彩色相机去畸变做对齐

▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去&#xff0c;或者产生的…

openpnp - 底部相机视觉识别CvPipeLine的参数bug修正

文章目录 openpnp - 底部相机视觉识别的CvPipeLine的参数bug概述笔记openpnp的视觉识别参数的错误原因备注补充 - 如果要直接改默认的底部视觉要注意END openpnp - 底部相机视觉识别的CvPipeLine的参数bug 概述 底部相机抓起一个SOD323的元件&#xff0c;进行视觉识别。 识别…

实验:使用Oxygen发布大型手册到Word格式

此前&#xff0c;我曾发表过一篇文章《结构化文档发布的故事和性能调优》&#xff0c;文中讨论了在将大型DITA手册转换为PDF格式时可能遇到的性能挑战及相应的优化策略。 近日&#xff0c;有朋友咨询&#xff0c;若将同样的大型手册输出为MS Word格式&#xff0c;是否也会面临…

【华为HCIP实战课程十八】OSPF的外部路由类型,网络工程师

一、外部路由类型: 上节讲的外部路由类型,无关乎COST大小,OSPF外部路由类型1优先于外部路由类型2 二、转发地址实验拓扑 我们再SW3/R5/R6三台设备运行RIP,SW3即运行RIP又运行OSPF SW3配置rip [SW3-rip-1]ver 2 [SW3-rip-1]network 10.0.0.0 AR5去掉ospf配置和AR6配置rip…

甘特图基线-用起来了吗~

管理项目无疑是一项充满挑战的任务&#xff01;每个项目都伴随着严格的截止日期&#xff0c;因此&#xff0c;确保项目按时完成&#xff0c;并在推进过程中一一达成所有关键的里程碑&#xff0c;显得尤为重要。 为了更精准地掌握项目进展&#xff0c;利用甘特图的基线功能来捕捉…

企业数字化转型的最佳实践指南:微服务架构与物联网的深度融合

在瞬息万变的数字化时代&#xff0c;企业正面临着如何快速适应市场变化、优化业务流程以及利用技术创新来保持竞争力的挑战。数字化转型不仅是技术升级&#xff0c;更是企业从根本上重新定义运营模式和商业价值创造的过程。在这一过程中&#xff0c;微服务架构&#xff08;MSA&…

Linux - 动静态库

文章目录 一、静态库1、定义2、文件扩展名3、生成静态库4、使用静态库5、静态库的优缺点 二、动态库1、定义2、文件扩展名3、生成动态库4、使用动态库5、动态库的优缺点6、简单动态库加载 三、补充 一、静态库 1、定义 静态库是在编译时链接到最终的可执行文件中的库。这意味着…

ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)

目前遇到过树莓派和其他设备安装 ubuntu22.04&#xff0c; 使用有线网络一段时间&#xff08;可能有其他软件安装导致&#xff09;造成有线网络未启动无ip分配的问题。 1、动态分配 通过命令行启动dhcpclient实现 网络eth0存在异常&#xff0c;网口灯电源和信号灯均点亮&am…