跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

安卓手机通过 Termux 和 Alpine 部署 Docker 并实现外网访问

在安卓手机上利用 Termux 和 QEMU 运行 Alpine Linux 虚拟机,并在其中部署 Docker 服务,配合内网穿透工具 cpolar 可实现对外网访问。主要步骤涵盖安装 Termux 环境、创建虚拟磁盘、启动虚拟机安装系统、配置 Docker 自启及网络穿透设置。此方法适用于移动端搭建轻量级开发或测试环境的需求。

魔尊发布于 2026/3/15更新于 2026/10/492 浏览

前言

本文介绍在安卓手机上利用 Termux 和 QEMU 运行 Alpine Linux 虚拟机,并在其中部署 Docker 服务的方法。主要步骤包括安装命令行工具、配置内网穿透、创建虚拟机环境以及安装 Docker。

一、安装命令行工具

1. 准备 Termux 安装包

从 GitHub 下载 Termux 安装包并安装到手机上。

2. 配置后台运行权限

以小米机型为例(其他机型步骤基本一致),打开设置搜索电池,进入电量和性能,再次点击应用配置,设置 Termux 后台无限制,保证应用后台可正常运行。

二、设置内网穿透

通过 Termux 安装并配置 cpolar 内网穿透,为本地端口分配公网地址,支持按需启用 HTTPS 与访问控制。

1. 安装 cpolar

打开 Termux 软件,等待初始化完成。创建配置文件目录:

mkdir -p $PREFIX/etc/apt/sources.list.d

添加 cpolar 下载源并更新仓库:

echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list
pkg update

执行安装命令:

pkg install cpolar

安装 termux 服务(注意:安装完成后需关闭并重新进入 Termux):

pkg install termux-services

启动 cpolar 内网穿透并设置开机自启:

sv up cpolar
sv-enable cpolar

在手机浏览器输入 http://localhost:9200 即可访问 cpolar Web UI 管理界面,使用官网注册账号登录。

注意:随机域名方式约每 24 小时自动更换一次地址,不适合长期访问或对外分享。若希望长期稳定免改配置地对外访问,建议使用固定域名方案。

三、安装手机版虚拟机 Alpine

1. 环境准备

安装 QEMU 模拟器作为核心工具。

更新 Termux 仓库:

pkg update && pkg upgrade

安装必要组件:

pkg install qemu-utils qemu-common qemu-system-x86-64-headless wget

准备工作目录:

mkdir ~/alpine && cd ~/alpine

下载镜像(以 v3.20 为例,建议使用针对虚拟化优化的 virt 版本 ISO 镜像):

wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-virt-3.20.2-x86_64.iso -O alpine.iso

创建 Alpine 的虚拟磁盘(建议至少 10G):

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

2. 使用安装模式启动 Alpine

必须带上 -cdrom 和 -boot d 参数:

qemu-system-x86_64 -smp 4 -m 3072 -drive file=alpine.qcow2,if=virtio -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 -cdrom alpine.iso -boot d -nographic

3. 执行安装脚本

登录 root 后,输入:

setup-alpine

4. 关键步骤检查

在安装过程中请重点确认以下几项:

  • Keyboard: us
  • Hostname: 随意(如 alpine)
  • Network: eth0 -> dhcp
  • Mirror: 选择 f (find fastest) 或手动输入
  • SSH: openssh
  • Disk to use: vda
  • How to use it: sys (表示安装完整系统到硬盘)
  • 确认擦除:输入 y

5. 彻底关机

安装完成后看到提示,输入:

poweroff

6. 正常启动

移除安装镜像参数,从硬盘启动:

qemu-system-x86_64 -smp 4 -m 3072 -drive file=alpine.qcow2,if=virtio -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::3000-:3000 -device virtio-net,netdev=n1 -nographic

其中 hostfwd=tcp::3000-:3000 用于设置 Termux 外部对内 Docker 端口的映射。

四、Alpine 中安装 Docker

1. 开启 Community 仓库

Docker 位于 community 仓库中。编辑仓库配置文件:

vi /etc/apk/repositories

确保 community 行开头没有 #,或直接追加:

echo "https://dl-cdn.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories

2. 更新并安装 Docker

apk update
apk add docker docker-compose

3. 设置开机自启并启动服务

Alpine 使用 OpenRC 管理服务:

rc-update add docker boot
service docker start

4. 验证安装

docker version

若看到 Client 和 Server 的版本信息,说明 Docker 已成功运行。

目录

  1. 前言
  2. 一、安装命令行工具
  3. 1. 准备 Termux 安装包
  4. 2. 配置后台运行权限
  5. 二、设置内网穿透
  6. 1. 安装 cpolar
  7. 三、安装手机版虚拟机 Alpine
  8. 1. 环境准备
  9. 2. 使用安装模式启动 Alpine
  10. 3. 执行安装脚本
  11. 4. 关键步骤检查
  12. 5. 彻底关机
  13. 6. 正常启动
  14. 四、Alpine 中安装 Docker
  15. 1. 开启 Community 仓库
  16. 2. 更新并安装 Docker
  17. 3. 设置开机自启并启动服务
  18. 4. 验证安装

更多推荐文章

查看全部
  • QoderWork:一款桌面级通用 AI Agent 助手
  • 2026 年 Trae 收费模式变更与 AI 编程成本分析
  • Linux 动态库与静态库技术详解
  • 大模型技术综述:架构、训练与部署指南
  • Home Assistant 界面美化指南:打造个性化智能家居
  • 金融场景里的自然语言处理怎么落地
  • 2026 年 2 月 AIGC 行业模型发布及前沿资讯
  • Python 破解字体加密自动获取番茄小说内容
  • 构建 AI 临床副驾驶:基于 Go 的电子病历智能助手与 HIS 对接
  • 成年人自学网络安全技术:难点解析与职业路径指南
  • LLM 提示工程技巧总结:从 Zero-Shot 到 Chain-of-Thought
  • MCP 协议详解:与 Function Call 的区别及使用方法
  • 深入解析单点登录(SSO)的架构与实现
  • 视频理解技术产业实践:从算法选型到本地化部署
  • AG-UI:构建 AI 前端交互的统一协议
  • Python 使用 openpyxl 和 pandas 处理 Excel 详解
  • Flutter for OpenHarmony 实战:通义万相 AIGC 联调与相册持久化
  • 大模型在医疗领域的现状与落地挑战
  • 立创开源智能家居键盘SmartKB32_v2:基于ESP32-S3的蓝牙/有线双模多功能控制器设计详解
  • 前端国际化最佳实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online