非root用户启动docker(离线安装root-less)


前景提要

客户要求进程不要使用root用户,好在咱们的东西都跑在docker上,这样岂不是建个用户加个权限启动docker就解决了么,但是经过了解,docker的非root用户模式还有点费劲,所以记录一下

1.创建新用户

不管怎么样,第一步肯定是先创建新用户了

useradd xxxx  创建新用户
passwd xxxx   设置密码
chown xxx:xxx /home/xxx   修改目录权限

这里因为我创建的新用户在/home下已经存在了,所以会提示没有将/etc/skel下的文件复制过来,需要自己复制一下

2.安装root-less

官网给出了两个方式:
1.如果是通过rpm安装的话,root-less应该是包含在内了,直接执行:dockerd-rootless-setuptool.sh install 即可
2.如果不是通过rpm安装的话可以执行 curl -fsSL https://get.docker.com/rootless | sh

但是客户提供的服务器并不能访问到外网,然后docker又是直接上传的压缩包安装的,所以这里只能是自己把第二种方式的脚本执行一遍,通过观察可以发现脚本其实就是去远程下载了一个tar下来然后解压安装,那么我们就可以直接自己去吧tar包下载下来然后按照脚本里下载完成后的步骤执行了。
这里这个脚本可能会变,只讲一下操作的思路。
1.查看脚本中stable对应的root-less下载地址,然后下载对应自己docker版本的压缩包,上传到服务器
2.解压root-less,具体解压命令再脚本中也有
3.执行./dockerd-rootless-setuptool.sh install,会提示安装需要添加什么配置
4.安装成功后命令行会提示在.bashrc中添加一些配置,按照配置操作即可

3.运行root-less docker

这里根据内核版本和发行版会有不同的操作,目前看主要是存储驱动不同,我这里因为内核版本比较低,只有vfs是没有限制的,所以启动的时候执行:./dockerd-rootless.sh --experimental --storage-driver vfs
启动后再观察进程已经是非root了,到此非root用户启动docker完成。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM