【工具类】非 sudo 运行 docker

非 root 运行 docker 命令

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo chown root:docker /var/run/docker.sock
sudo chown "$USER":"$USER" /home/"
### 通过Root用户安装Docker 对于希望在Linux系统上作为root用户安装并运行Docker的情况,通常的方法并不适用,因为大多数官方指南都假设操作者具有管理员权限。然而,可以通过编译源码的方式绕过这一限制[^1]。 #### 准备工作环境 为了使root用户能够顺利地构建和使用Docker,需要确保该用户的家目录中有足够的空间来存储下载的文件以及后续可能产生的数据。此外,还需要确认已经安装了必要的依赖项,比如Git、Go语言环境等,这些工具用于获取Docker源代码及其依赖库,并完成编译过程。 #### 编译安装Docker 一旦准备工作就绪,可以按照以下方式继续: ```bash # 下载Docker源码仓库 git clone https://github.com/docker/cli.git $HOME/go/src/github.com/docker/cli cd $HOME/go/src/github.com/docker/cli # 构建二进制文件 make binary # 将生成的docker可执行文件复制到$PATH中的某个位置, 如 ~/bin/ cp bundles/latest/build-x86_64/docker ~/bin/ # 设置正确的所有权给新创建的docker命令行工具及相关组件 chown $(whoami):$(id -gn) ~/bin/docker* ``` 上述命令序列展示了如何克隆Docker CLI项目的GitHub仓库,在本地环境中对其进行编译,并最终将得到的结果放置在一个易于访问的位置以便于调用。注意这里并没有涉及到守护进程部分(`containerd` 和 `runc`) 的部署;如果想要完全脱离系统的支持,则还需单独处理这两者的安装与配置问题。 #### 解决权限不足的问题 即使成功完成了以上步骤,当尝试连接到远程或本机上的Docker服务时仍可能会遇到权限错误提示。这是因为默认情况下只有属于特定Unix组(通常是名为`docker`的那个)成员才有权向位于UNIX域套接字内的API发送请求。为此,应该考虑创建这样一个新的用户组并将自己添加进去: ```bash sudo groupadd docker sudo usermod -aG docker ${USER} newgrp docker ``` 这三行脚本首先定义了一个叫做`docker`的新群组,接着把当前登录账户追加到了这个群体里边去,最后立即生效更改后的设置而不必注销再重新登入系统。不过需要注意的是,某些发行版或许会采用不同的方法管理这类资源,所以最好查阅对应文档获得最准确的信息指导[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值