杂谈之非root用户运行docker命令

本文介绍如何通过将用户添加到docker组中以获得docker命令执行权,并提供了具体步骤。包括使用usermod命令添加用户到docker组及切换到docker组的方法。

步骤

1. 将用户添加至docker组中

usermod -aG docker currUser`

docker命令本质上是通过访问(读写)/var/run/docker.sock来完成与docker的交互。/var/run/docker.sock默认属于docker组以及root用户,所以,要想获得docker命令执行权,需要将用户添加到docker组中。
ps: 如果docker组不存在,则需先执行:sudo groupadd docker

2. 切换到docker组

newgrp docker

参考

daemon-socket-option

# 题目重述 执行 `sudo usermod -aG docker $USER` 时提示 "docker 存在",该如何处理? # 详解 当系统中存在 `docker` 用户时,说明 **Docker 服务尚未正确安装** 或 **Docker 服务包未完整部署**。需按以下步骤解决: 1. **确认 Docker 是否已安装** 运行以下命令检查 Docker 是否存在: ```bash docker --version ``` 若提示命令未找到,则说明 Docker 尚未安装。 2. **安装 Docker 引擎** 根据同 Linux 发行版安装 Docker: - **Ubuntu/Debian**: ```bash sudo apt-get update sudo apt-get install docker.io ``` - **CentOS/RHEL**: ```bash sudo yum install docker ``` 或使用官方脚本安装最新版: ```bash curl -fsSL https://get.docker.com | bash ``` 3. **启动并启用 Docker 服务** 安装完成后启动服务: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 4. **验证 docker 是否创建** 安装成功后,系统会自动创建 `docker` 用户。可通过以下命令查看: ```bash getent group docker ``` 如果返回结果包含 `docker:x:999:...`,表示存在。 5. **将当前用户添加到 docker ** ```bash sudo usermod -aG docker $USER ``` 添加后需 **重新登录终端或重启 shell** 才能使生效。 6. **测试无 root 权限运行容器** 登录新终端后运行: ```bash docker run hello-world ``` 若能正常运行,则说明权限配置成功。 # 知识点(列出解答该问题需要的知识点) - **Linux 用户管理机制**:用户用于分配特定权限,docker 允许成员无需 root 即可操作 Docker。 - **Docker 安装流程依赖项**:安装 Docker 引擎时会自动注册服务和创建专用用户。 - **systemd 服务启动原理**:Docker 作为后台服务需通过 systemctl 启动并设为开机自启。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值