当前位置: 首页 > news >正文

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命令。

http://www.lryc.cn/news/467331.html

相关文章:

  • php后端学习,Java转php
  • Elasticsearch 中管道介绍
  • 将jinjia2后端传到前端的字典数据转化为json
  • Linux中如何理解一切皆文件
  • 【贪心算法】(第十一篇)
  • React(五) 受控组件和非受控组件; 获取表单元素的值。高阶组件(重点),Portals; Fragment组件;严格模式StrictMode
  • 深入解析 Jenkins 自动化任务链:三大方法实现任务间依赖与状态控制
  • 无人机飞手执照培训为什么需要脱产学习?
  • PostgreSQL(十三)pgcrypto 扩展实现 AES、PGP 加密,并自定义存储过程
  • uniapp使用webView打开的网页有缓存如何解决(APP,微信小程序)
  • HarmonyOS 模块化设计
  • 解决docker拉取readeck镜像报Error response from daemon: toomanyrequests问题
  • duilib的应用 在双屏异分辨率的显示器上 运行显示不出来
  • 零代码快速开发智能体 |甘肃旅游通
  • 【MATLAB源码-第187期】基于matlab的人工蜂群优化算法(ABC)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • qt获取本地语言
  • 【Spring篇】Spring中的Bean管理
  • UV灯 VS LED灯,LED美甲灯是紫外线灯吗?
  • 得物App3D博物馆亮相“两博会”,正品保障助力消费体验升级
  • rancher安装并快速部署k8s 管理集群工具
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置
  • 八、Linux 系统安全:守护你的数字堡垒
  • PTA数据库编程练习合集
  • 分布式链路追踪-01初步认识SkyWalking
  • openpnp - 底部相机视觉识别CvPipeLine的参数bug修正
  • C#从零开始学习(接口,强制转化和is)(7)
  • 算法Day-8
  • 屏蔽小米电视广告的方法
  • C#,自动驾驶技术,ASAM OpenDRIVE BS 1.8.0 规范摘要与C# .NET Parser
  • 玩转PyCharm:常用操作和快捷键