安卓手机作为服务器安装docker安装外网可访问网站

前言

  1. Termux基础准备 :更新软件包,安装QEMU虚拟机组件和wget

  2. 创建Alpine虚拟机 :下载Alpine virt镜像,用QEMU创建虚拟硬盘并启动安装。安装时执行 setup-alpine 进行配置。

  3. 在Alpine中安装Docker :启动安装好的Alpine系统,换源后执行 apk add docker docker-compose 安装,并添加为自启动服务。

  4. 部署Docker服务 :在Alpine虚拟机内,使用 docker run 命令拉取并运行上表中的镜像,注意正确配置端口映射。

一,安装命令行工具

需要提前下载/准备

Termux 安装包:termux.apk

首先,将termux软件安装在手机上

当前小米机型为例(其他机型步骤基本一致),打开设置,搜索电池,然后点击进入电量和性能,再次点击应用配置,设置KSWEBTermux后台无限制:

这样,即可保证KSWEBTermux应用后台无限制运行啦!

二、设置内网穿透,外网可访问

通过 Termux 安装并配置 cpolar 内网穿透,为本地 `8000 端口分配一个可直接访问的公网地址,并支持按需启用 HTTPS、访问控制与开机自启,让你的手机博客真正做到随时随地在线。

安装cpolar

首先,打开安装好的Termux软件,首次打开会进行一些软件包的安装,等待片刻即可:

进入页面后,首先,创建一个sources.list.d的文件夹:

复制代码
mkdir -p $PREFIX/etc/apt/sources.list.d

然后,添加cpolar下载源,并且更新仓库:

复制代码
#添加cpolar下载源
echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list

#更新仓库
pkg update

更新完成后,输入如下命令进行安装cpolar:

复制代码
pkg install cpolar

接下来,安装termux服务(注意:安装完成termux后,关闭termux,然后重新进入termux):

复制代码
pkg install termux-services

重启完termux后,然后启动cpolar内网穿透

复制代码
sv up cpolar
# 设置开机自启
sv-enable cpolar

然后在手机浏览器我们输入http://localhost:9200,就可以看到cpolar web UI管理界面,使用在cpolar官网注册的邮箱账号即可登陆:

复制代码
http://localhost:9200

注册好账号后,输入账号信息,登录到后台管理页面

需要说明的是,随机域名方式更适合预算有限的场景:系统大约每24 小时会自动更换一次地址,不太适合长期访问或对外分享;并且当地址变化时,你还需同步更新 Typecho 后台的站点地址,否则样式与资源可能加载异常。若希望长期稳定、免改配置地对外访问,建议使用固定域名方案。

三、安装手机版虚拟机alpine

1. 使用"安装模式"重新启动

(注意:这里必须带上 -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

2. 执行安装脚本

登录 root 后,输入:

setup-alpine

3. 关键步骤(请务必检查)

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

  • Keyboard : us

  • Hostname : 随意(如 alpine

  • Network : eth0 -> dhcp

  • Mirror : 选择 f (find fastest) 或者手动输入一个(如 http://mirrors.ustc.edu.cn/alpine/

  • SSH : openssh

  • Disk to use : 这里非常关键! 看到提示时输入 vda

  • How to use it : 输入 sys (表示安装完整系统到硬盘)。

  • 确认擦除 : 输入 y

4. 彻底关机

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

复制代码
poweroff

5. 再次正常启动

(不带 CDROM)

这次,我们移除掉安装镜像的参数,再次尝试从硬盘启动:

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 仓库

Alpine 的官方仓库分为 maincommunity。Docker 位于后者中。

  1. 编辑仓库配置文件:

    复制代码
    vi /etc/apk/repositories
  2. 找到类似 http://.../v3.xx/community 的那一行,如果开头有 #,请删掉它(按 i 进入编辑模式,删掉 #,按 Esc 后输入 :wq 保存退出)。

  3. 或者直接运行命令追加(更快捷):

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

2. 更新并安装 Docker

apk update

apk add docker docker-compose

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

Alpine 使用 OpenRC 来管理服务,而不是常见的 systemd

将 docker 加入启动序列

rc-update add docker boot

立即启动 docker 服务

service docker start

4. 验证安装

复制代码
docker version

如果看到 Client 和 Server 的版本信息,说明 Docker 已在你的虚拟机内成功运行。

相关推荐
skywalk81631 天前
FreeBSD系统使用docker-compose使用docker容器(没搞定)
spring cloud·docker·容器
进击的小菜鸡dd1 天前
Java求职面试实战:从Spring Boot到Docker的全面技术解析
java·spring boot·docker·互联网·面试指南
冰块的旅行1 天前
Docker Compose一键部署Kafka与Kafka-UI可视化管理面板
docker·kafka
回忆是昨天里的海1 天前
docker file-制作镜像
运维·docker·容器
远瞻。1 天前
【博客】前端新手如何创建自己的个人网站相册
前端·docker·博客·反向代理
lbb 小魔仙1 天前
Linux 服务器安全配置:iptables + SELinux 防御策略全解析
linux·服务器·安全
小张程序人生1 天前
一篇文章全面快速入门Docker
运维·docker·容器
德育处主任1 天前
『NAS』部署轻量级开源图片水印工具-ImageWatermarkTool
前端·javascript·docker
Maggie_ssss_supp1 天前
Linux-LNMP生产环境部署
linux·运维·服务器