旧手机刷PostmarketOS系统后如何安装Docker
之前有网友提到了,于是补充一篇关于:手机刷PostmarketOS系统后如何安装Docker。另外顺便解答大家的一些问题:
PostmarketOS是可以在手机上原生运行的Linux系统,基于Alpine Linux开发。刷机后可以在旧手机上体验完整的Linux系统。这里重点说一句:刷PostmarketOS和大家理解的刷机目的完全不同。手机刷PostmarketOS后就不是为了作为手机使用。
虽然PostmarketOS具备手机的一些功能比如打电话、联网。但操作逻辑和安卓IOS不同,也并不好用。加上一些驱动原因很多手机刷机后拨号和网络功能无法正常使用。所以如果只是图个新鲜刷PostmarketOS完全没必要。PostmarketOS的意义在于让的旧设备变成一台Linux主机,你可以在上面学习Linux操作,网站搭建等。是一个非常不错的学习和实验环境。鉴于现在树莓派涨价严重,旧手机刷PostmarketOS完全可以成为性能更好价格更低的代替方案。
并非只有红米2才能刷PostmarketOS,在官方的wiki上可以看到已经有非常多的设备刷了PostmarketOS。但是不同的设备刷机难度不同,而且网上很难找到完整的刷机方案,新手玩不转。新手想体验PostmarketOS建议找最成熟的刷机方案。
另外由于很多设备兼容不完全,导致功能无法完全正常使用,这也是为什么如果你刷PostmarketOS是为了当一个手机用,那就完全没必要。但是如果你只是想把一台旧手机改装成Linux主机,那你的选择非常多,而且最终好用程度可能会超出你的预期。
先介绍一下如何安装docker,PostmarketOS的包管理命令是apk,用下面的命令安装docker并设置开机自启动:
sudo apk add docker
sudo service docker start
sudo rc-update add docker default
我推荐搭建顺便安装一下zerotier,这样远程也可以访问手机SSH也能远程访问docker里的应用。
sudo apk add zerotier
但是安装docker之后会遇到一个问题,因为防火墙的原因docker的端口无法通过外部访问。虽然官方文档里介绍了可以通过防火墙规则允许docker通信,但是实际我按照官方指引配置/etc/nftables.d后无效:
#!/usr/sbin/nft -f
table inet filter {
chain input {
iifname "docker*" accept comment "Allow incoming network traffic from Docker"
}
chain forward {
iifname "docker*" accept comment "Allow outgoing network traffic from Docker"
ct state {established, related} counter accept comment "accept established connections"
}
}
于是我直接关了防火墙(因为这不是真正的服务器,也没有公网所以关闭防火墙影响不大):
sudo service nftables stop
sudo rc-update del nftables
这下docker可以正常访问了,但是注意由于手机CPU是ARM指令集,所以下载镜像时也要搜索ARM镜像。我安装了一个speedtest进行测速。PostmarketOS另一个强大之处在于USB连接电脑可以使用USB网卡模式共享电脑的网络,直接通过172.16.42.1就可以访问PostmarketOS。在USB连接模式下我的红米2测速可以达到100兆:
而在wifi连接下,测速则只有20兆:
另外有朋友说通过USB联网可不可以充电,事实上通过USB联网同时是可以充电的。所以只要通过USB插在电脑上,PostmarketOS就是一台带UPS的小主机。可以像我一样套娃(手机连接小主机)。
以及通过SSH小主机后,再SSH手机:
唯一遗憾的是手机OTG拓展时不能充电,不然通过OTG拓展真可以做一台功能不错的小主机了(至少做个下载机没问题)。如果USB口被占用只能通过改装电池位置的电源接口。
如果手机内存比较小,比如像我这台红米2(1G+8G),其实安装Docker的意义不大,因为很多镜像安装下来有几百兆,空间马上就会被占满。如果有性能好一点的手机可以用Docker搭建不少服务。如果手机性能较差,主要用于学习Linux。把它当成一个小服务器进行测试学习Nginx+PHP+Sqlite勉强可以运行。
另外编译安装wakeonlan后作为局域网的一个唤醒器唤醒局域网中的其它主机,直接命令操作比较麻烦可以通过设置alias配置:
alias ubuntu='~/sd/WakeOnLAN-0.3/a.out mac地址'
最后关于折腾是不是浪费时间这个问题,折腾是真折腾。至于是不是浪费时间,主要看目的和个人爱好,但有一说一PostmarketOS这个项目是真不错。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~






幸运屋赞助商
校验提示文案
动感超人VK
校验提示文案
fRowMeua
校验提示文案
买东西已佛系
校验提示文案
真正的张起灵
校验提示文案
crow9976
校验提示文案
股探报告
校验提示文案
堕落的虚空
校验提示文案
值友9055318779
校验提示文案
交易使我快乐
校验提示文案
未完执念
校验提示文案
值友2070979687
校验提示文案
星之继承者
校验提示文案
星之继承者
校验提示文案
值友2070979687
校验提示文案
未完执念
校验提示文案
fRowMeua
校验提示文案
交易使我快乐
校验提示文案
值友9055318779
校验提示文案
堕落的虚空
校验提示文案
股探报告
校验提示文案
动感超人VK
校验提示文案
crow9976
校验提示文案
真正的张起灵
校验提示文案
幸运屋赞助商
校验提示文案
买东西已佛系
校验提示文案