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

【教程】免Root在Termux上安装Docker,顺便装OpenClaw-Docker

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

来源:https://gist.github.com/oofnikj/e79aef095cd08756f7f26ed244355d62

亲测可用,顺便还装了个OpenClaw-Docker

原理

创建一个 Linux 虚拟机,并在其中安装 Docker,这样就可以在 Android 设备上(缓慢地)运行 x86 Docker 容器。

安装

1、安装 QEMU

pkg install qemu-utils qemu-common qemu-system-x86_64-headless wget

2、下载 Alpine Linux 3.12 (virt 优化) ISO

mkdir alpine && cd $_ wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso

3、创建磁盘(注意,它实际上不会占用 4GB 的空间,而是 500MB)

qemu-img create -f qcow2 alpine.img 4G

这里会涉及虚拟机磁盘的大小,视情况建议设置大一点,比如20GB

4、启动它

qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \ -cdrom alpine-virt-3.12.3-x86_64.iso \ -nographic alpine.img

5、使用用户root(无需密码)登录

6、设置网络(按 Enter 使用默认值)

setup-interfaces
ifup eth0

7、创建一个answerfile文件以加快安装

wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile

answerfile:

KEYMAPOPTS="us us" HOSTNAMEOPTS="-n alpine" INTERFACESOPTS="auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp hostname alpine " TIMEZONEOPTS="-z UTC" PROXYOPTS="none" APKREPOSOPTS="http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community" SSHDOPTS="-c openssh" NTPOPTS="-c busybox" DISKOPTS="-v -m sys -s 0 /dev/sda"

8、进行一些修补

sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk

9、运行安装程序安装到磁盘

setup-alpine -f answerfile

注意,最后提示Erase the above disk(s)时候,默认是 N,直接回车就等于取消了安装,所以磁盘还是空的,需要选 y

10、安装完成后,关闭虚拟机

poweroff

输入后等一会,会有调试信息输出,直到输出“reboot: Power down

11、重新启动,不使用 CD-ROM

qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \ -hda alpine.img \ -nographic

建议把这个存为sh脚本,方便以后启动虚拟机。

参数说明:

参数值/子参数说明
qemu-system-x86_64-启动 x86_64 架构的 QEMU 系统模拟器
-machineq35使用 Intel Q35 芯片组(较新,支持 PCIe、UEFI)。替代旧版 pc(i440FX),推荐用于现代系统
-m1024分配 1024 MB(1GB)内存给虚拟机。视情况可增加。
-smpcpus=2设置 2 个 CPU 核心。视情况可增加。
-cpuqemu64使用通用的 qemu64 CPU 模型(兼容性好,性能一般)。可选host(KVM 下用宿主机 CPU)、max(最大特性)
-driveif=pflash驱动器接口类型为 pflash(PCI Flash,用于 UEFI 固件)
format=raw镜像格式为原始裸格式(无压缩/快照功能)
read-only只读挂载(固件不应被修改)
file=$PREFIX/...UEFI 固件文件路径($PREFIX 通常是 /usr)
-netdevuser用户模式网络(无需 root,NAT 方式)
id=n1网络设备标识符,供后续引用
hostfwd=tcp::2222-:22端口转发:宿主机 2222 → 虚拟机 22(SSH)
-devicevirtio-net使用 VirtIO 半虚拟化网卡(高性能)
netdev=n1关联到上面定义的 netdev n1
-hdaalpine.img第一块硬盘镜像(IDE 接口,旧式)。等同于-drive file=alpine.img,index=0,media=disk
-nographic-禁用图形界面,使用纯串口控制台。输出重定向到当前终端,适合无 GUI 环境

12、安装 docker 并在启动时启用

apk update && apk add docker && apk add docker-compose service docker start rc-update add docker


一些快捷键:

  • Ctrl+a x: 关闭模拟器
  • Ctrl+a h: 启动 QEMU 控制台

装OpenClaw

Alpine Linux Docker 换源:

#!/bin/sh # Alpine Linux Docker 换源脚本 echo "=== 配置 Docker 镜像加速器 ===" # 创建配置目录 mkdir -p /etc/docker # 写入配置 cat > /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://docker.xuanyuan.me", "https://docker.m.daocloud.io", "https://docker.1ms.run" ] } EOF echo "=== 重启 Docker 服务 ===" rc-service docker restart echo "=== 验证配置 ===" sleep 2 docker info 2>/dev/null | grep -A 5 "Registry Mirrors" || echo "Docker 可能未运行,请检查:rc-service docker status" echo "=== 完成 ==="

参看:https://github.com/justlovemaki/OpenClaw-Docker-CN-IM/

http://www.jsqmd.com/news/373107/

相关文章:

  • 埃氏筛法简介
  • 【读书笔记】《母爱的羁绊》
  • L-704 的 0.00% 偏差
  • 完整教程:Langchain之Agent代理的使用
  • 内部审计备忘录
  • 2026超轻便携掌上型三维扫描仪选购指南 - 十大品牌深度解析 - 匠言榜单
  • 动态ip和静态ip的区别
  • ksuid 类似uuid的唯一id 算法
  • 细聊不错的工程师申报企业,江苏地区哪家费用合理 - 工业推荐榜
  • 2026年天津、北京、河北包装实物设计开发打样公司排名,哪家性价比高? - 工业品牌热点
  • 2025-2026年度AI搜索优化(GEO)源头厂商竞争格局深度分析报告 - 2026年企业推荐榜
  • 2026年生成式引擎优化加盟产品权威推荐。GEO新纪元:选对伙伴,定义未来三年增长曲线 - 2026年企业推荐榜
  • 新东方技工学校企业实训模式好用吗?对就业有啥帮助? - myqiye
  • 总结流量型蠕动泵选购要点,山东流量型蠕动泵生产厂家推荐 - 工业品网
  • 2026年2月关于DeepSeek关键词优化系统竞争格局的深度分析报告 - 2026年企业推荐榜
  • python+springboot+django/flask基于深度学习的音乐推荐系统 - 指南
  • 吉林好用的短视频代运营公司有哪些,性价比高不高? - mypinpai
  • 2026年2月西安孩子视力矫正/近视防控/品牌竞争格局深度分析报告 - 2026年企业推荐榜
  • 中国移动APP开发工程师职位深度解析与面试指南
  • 模板方法模式 (Template Method Pattern)
  • 分析石灰厂产品质量,曌鹏石灰品质达标性价比高靠谱吗 - 工业设备
  • CSDN编辑时如何写上标、下标、同时写上下标?
  • 深度解析安卓软件开发工程师:珠海斯巴克电子设备有限公司职位剖析与技术面试指南
  • 牛客题解-二维斐波那契数列
  • 汽车移动端开发核心技术深度解析与面试指南
  • RAG不是万能的,但没有RAG是万万不能的:8种主流架构全景解析
  • 深入解析服装MES系统移动端开发:岗位要求、技术栈与面试全攻略
  • 从“端到端”到“人到人”:一种以需求直接满足为核心的新一代人机交互范式
  • Linux命令-lscpu(显示有关CPU架构的信息)
  • 2026市面上好用的纤维素抑尘剂厂家排名 - 品牌排行榜