termux-containers:闲置安卓手机不用 Root 就能跑 Docker,旧手机变身低功耗小服务器

termux-containers:闲置安卓手机跑 Docker

闲置的 Android 手机除了塞抽屉,还能干什么?小众软件今天介绍了一个新玩具 termux-containers:不用 Root,就能在手机上像部署 Docker 服务一样跑 Linux 应用,旧手机直接变一台低功耗小服务器。

这个项目是 @BHznJNs 在 Appinn 论坛带来的开源新作,仓库创建于 10 月 31 日,目前只有 24 星、5 次提交,是非常早期的项目。

不用 Root,也不用 Docker

termux-containers 的卖点是三个“不需要”:不需要 Root 手机,不需要安装 Docker Engine,也不需要常驻 Docker 守护进程。多个服务用一个 YAML 文件管理,支持启动、停止、查看运行状态,还能挂载文件和目录保存应用数据。

它的链路是这样的:Android → Termux → PRoot-Distro → OCI 镜像 → Linux 应用。Termux 是 Android 上的终端模拟器和 Linux 环境;PRoot-Distro 是 Termux 生态里的 Linux 环境管理工具,能在不 Root 的情况下跑 Ubuntu、Debian 等发行版,以及兼容的 OCI 容器镜像;OCI 镜像是开放标准的容器镜像,Docker Hub 上的大量镜像都是 OCI 兼容格式。

当然,它和真正的 Docker 还是有区别:PRoot 不提供 Docker 那样的内核级容器隔离,也跑不了所有 Docker 镜像。但对轻量级服务来说,这已经很有吸引力了。

能干什么:从跑网站到内网穿透

最直观的玩法是在手机上跑一个 Nginx 镜像、托管一个网站——没什么实用价值,但很酷。更有用的玩法是跑 Cloudflare Tunnel:手机主动连接 Cloudflare,外部用户就能通过域名访问手机上的服务,相当于实现了内网穿透。

再往下想,手机能顶一部分 NAS 的活:跑家庭消息转发机器人、Node.js 轻量级应用、简单的 Webhook 接收服务,或者 Aria2、yt-dlp 这类下载工具。小众软件的青小蛙甚至畅想,把多台闲置手机连起来组个手机版 k8s,变身家用迷你数据中心。

怎么装:四步上手

先在 Android 手机上安装 Termux,然后在 Termux 里执行:

pkg update
pkg install git
git clone https://github.com/BHznJNs/termux-containers ~/termux-containers
cd ~/termux-containers
bash install.sh

安装脚本会配置 Python、PRoot、PRoot-Distro 等依赖,并创建 termux-containers 命令。

接着编辑项目目录里的 containers.yaml,以 Nginx 为例:

services:
  web:
    image: nginxinc/nginx-unprivileged:stable-alpine
    enabled: true
    volumes:
      - type: directory
        source: ./data/web
        target: /usr/share/nginx/html
    environment:
      PORT: "8080"

放一个网页进去,再启动服务:

mkdir -p ~/termux-containers/data/web
echo '<h1>Hello from Android!</h1>' > ~/termux-containers/data/web/index.html
termux-containers apply
termux-containers status

还可以用 termux-containers stop web、termux-containers start web 启停服务。Nginx 成功启动并监听 8080 端口后,在手机浏览器里打开 http://127.0.0.1:8080 就能看到这个跑在手机上的网页。

使用限制,先说清楚

  • 需要 ARM64 架构,老机器可能跑不了。
  • 没有 Docker 式的端口映射,PRoot 与 Termux 共享网络。
  • 没有完整的容器安全隔离,应当只运行可信镜像。
  • 后台运行受 Android 限制,手机休眠或系统清理后台时,服务可能中断。

项目地址在 GitHub BHznJNs/termux-containers。早期项目、功能还在长,适合手头有闲置安卓机、又爱折腾的朋友先玩起来。

同样是把服务搬到本地跑的思路,可以看看 Floci:不用 AWS 账号也能跑 126 个 AWS 服务。

转自小众软件青小蛙的文章《闲置安卓手机跑 Docker?无需 Root,旧手机直接变服务器|termux-containers》,原文链接:https://www.appinn.com/termux-containers-2/

© 版权声明
THE END
喜欢就支持一下吧
点赞17 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容