在安卓上利用Alpine Term安装Docker
记得以前写过一篇文章介绍Termux这个软件,那时我是折腾一台老安卓才发现了这个强大的终端软件。这次我又来迫害这台安卓手机了。因为我发现了一个新的软件,也就是今天要讲到的Alpine Term。而Alpine Term是Termux+Qemu+Alpine整合而成的软件。简单的说就是Termux上装Qemu虚拟机,再用Qemu装alpine linux,从而在安卓上模拟出原汁原味的x86 linux。这种多重套娃其实用Termux也能实现,但是Alpine Term开箱即用,所以今天我就再给他套个娃:在Alpine Term的基础上安装docker。
关于Alpine Term
Alpine Term is a terminal and Linux environment application for Android. A key difference of other terminal applications is that it uses Alpine Linux running inside the headless x86_64 machine emulated with QEMU. Interaction with the operating system is done through terminals which are attached to the serial consoles of the virtual machine.(我直接引用官方原话,有兴趣自己翻译看吧。)
GitHub:Alpine Term
安装过程
首先我们去他的GitHub的Releases下载apk安装包并安装到安卓手机上。
对安卓手机的要求:
- 基于 AArch64 的设备。
- 安卓7.0+
- 至少 500 MB 的内部存储空间。
- Internet(如果您想安装/更新软件包)。
安装
安装完打开会加载几十秒,然后启动要大概十分钟(有可能是我手机太拉了才那么久,毕竟是六年前的安装手机了)。
加载完后到了登录界面,默认的账号密码都是alpine 。
sudo
切换到root账户,密码为 alpine。
输入 passwd
修改密码(可选,根据个人需要,可不改)
开启ssh登录 (非必须)
开启ssh是为了在电脑上更方便之后的操作,也可以用手机操作所以这个步骤非必须。
首先
1 | vi /etc/ssh/sshd_config |
找到以下两项改为: yes
1 | PermitRootLogin yes #允许以root登录 |
将ssh添加到开机启动项里:
1 | rc-update add sshd boot |
开启ssh
1 | service sshd start |
常用命令
1 | service sshd restart #重启 |
输入: reboot
重启以下机器(又是五六分钟的等待,破安卓没办法)。
重启完后,因无法直接访问Alpine Term里Linux端口,所以想访问那个端口就得再Alpine Term里映射。在Alpine Term软件里,手指再软件的左上方向右滑,会出现菜单,点击QEMU执行:
1 | hostfwd_add tcp::2222-:22 |
22
是内部ssh的端口映射到 2222
上,设置-WiFi中查看一下手机的ip,然后就是使用ssh软件, ip:2222
登录一下ssh。
如果不是root用户登录,记得 sudo -i
切换root再执行以下的全部操作:
修改alpine源文件地址
alpine 源文件存在 /etc/apk/repositories目录下,直接修改这里面的文件地址即可:
1 | vi /etc/apk/repositories |
替换源文件为:
1 | http://mirrors.aliyun.com/alpine/v3.12/main |
或是用以下命令一键换:
1 | sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories |
配置DNS ,修改 /etc/resolv.conf
文件:
1 | nameserver 114.114.114.114 |
更新软件包 :
1 | apk update |
安装常用包:
1 | apk add rpm |
docker安装与配置
安装docker:
1 | apk add docker |
docker添加开机启动项并启动docker:
1 | rc-update add docker |
docker修改镜像源:
找到并修改 /etc/docker/daemon.json
文件,没有该文件就新建一个
1 | { |
重启docker并检查是否成功:
1 | service docker restart |
自此我们就已经完成了在安卓上利用Alpine Term安装docker的全部步骤了。
最后
我其实尝试了在这个环境下跑了一下 vaultwarden
,也就是我之前写过的那篇文章自建Bitwarden密码管理服务 里的Bitwarden的一个第三方开源版本。居然成功的在本地运行了这个。不过速度属实有的慢呀,我这六年前老古董安卓就不能说有多快了。如果你的手机配置高的话说不定会好很多。我的想法是加个内网穿透什么的,就能把它放到公网上了。这个我有空再研究一下。不过话说回来要有这时间和精力,还不如直接买台vps跑来得流畅,我也就是喜欢折腾而已,顺便学点东西。可怜我那旧手机退休了还不得安宁,哈哈哈。