由于企业对服务器的ROOT权限进行严格管控,普通用户在安装Docker时往往只能采用rootless模式。此外,在一些完全隔离的内网环境中,无法访问外网资源,必须依赖离线方式进行部署。
所需资源准备
以下是完成本次安装所需的三个核心文件:
- Docker官方离线安装脚本:
rootless-install.sh
下载地址:https://get.docker.com/rootless - 静态二进制主程序包:
docker-28.3.3.tgz
下载地址:https://download.docker.com/linux/static/stable/x86_64/docker-28.3.3.tgz - rootless专用扩展组件包:
docker-rootless-extras-28.3.3.tgz
下载地址:https://download.docker.com/linux/static/stable/x86_64/docker-rootless-extras-28.3.3.tgz
修改安装脚本以支持本地文件读取(关键步骤)
将下载好的rootless-install.sh保存至本地,并编辑其中原本用于在线获取资源的部分。
原始代码段为:
# 原始在线下载 curl -L -o docker.tgz "$STATIC_RELEASE_URL" curl -L -o rootless.tgz "$STATIC_RELEASE_ROOTLESS_URL"
替换为以下内容,使其从本地路径复制文件:
# 使用本地离线包 cp ~/docker-offline/docker-28.3.3.tgz "$tmp/docker.tgz" cp ~/docker-offline/docker-rootless-extras-28.3.3.tgz "$tmp/rootless.tgz"
修改完成后保存并退出编辑器。
[此处为图片1]传输文件至目标主机
将以下三个文件一并拷贝到内网环境中的目标机器上,建议放置于普通用户的指定目录,例如:~/docker-offline/
- rootless-install.sh
- docker-28.3.3.tgz
- docker-rootless-extras-28.3.3.tgz
在内网主机执行安装(无需root权限)
进入文件所在目录并赋予脚本可执行权限:
cd ~/docker-offline chmod +x rootless-install.sh ./rootless-install.sh
该脚本会自动将Docker相关可执行文件解压至当前用户的$HOME/bin目录下,并配置好PATH以及DOCKER_HOST环境变量。
关于dockerd管理脚本说明
执行./rootless-install.sh后,系统会在~/bin目录生成多个工具文件,其中:
~/bin/dockerd-rootless-setuptool.sh install # 安装dockerd服务(由主脚本自动调用) ~/bin/dockerd-rootless-setuptool.sh uninstall # 卸载dockerd服务
通常情况下无需手动执行install命令,因为主安装脚本已自动完成调用。
启动与验证
为确保Docker守护进程在用户会话结束后仍能持续运行,需启用用户级linger模式:
loginctl enable-linger $USER
此步骤极为重要。若未开启,关闭终端后systemd将在约15秒后通过KillUserProcesses机制终止dockerd进程。
验证安装是否成功:
docker --version
若正确输出版本信息,则表示安装成功。
服务注册与状态查看
安装完成后,Docker将以用户级systemd服务形式注册。与系统级服务不同,操作时需添加--user参数。
例如,查看当前用户下Docker服务状态:
systemctl --user status docker
用户级systemd服务默认受登录状态影响,启用linger模式后可避免因用户登出而导致服务中断的问题。
[此处为图片3]

雷达卡


京公网安备 11010802022788号







