龙空技术网

旧手机刷PostmarketOS系统后如何安装Docker

略懂的大龙猫 2615

前言:

现时我们对“手机访问nginx”都比较讲究,小伙伴们都想要了解一些“手机访问nginx”的相关文章。那么小编在网络上搜集了一些对于“手机访问nginx””的相关资讯,希望你们能喜欢,各位老铁们一起来学习一下吧!

之前有网友提到了,于是补充一篇关于:手机刷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 startsudo rc-update add docker default

我推荐搭建顺便安装一下zerotier,这样远程也可以访问手机SSH也能远程访问docker里的应用。

sudo apk add zerotier

但是安装docker之后会遇到一个问题,因为防火墙的原因docker的端口无法通过外部访问。虽然官方文档里介绍了可以通过防火墙规则允许docker通信,但是实际我按照官方指引配置/etc/nftables.d后无效:

#!/usr/sbin/nft -ftable 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 stopsudo 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这个项目是真不错。

标签: #手机访问nginx