tft每日頭條

 > 科技

 > docker鏡像和容器通俗講解

docker鏡像和容器通俗講解

科技 更新时间:2024-11-21 02:38:04

之前有網友提到了,于是補充一篇關于:手機刷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兆:

docker鏡像和容器通俗講解(舊手機刷PostmarketOS系統後如何安裝Docker)1

而在wifi連接下,測速則隻有20兆:

docker鏡像和容器通俗講解(舊手機刷PostmarketOS系統後如何安裝Docker)2

另外有朋友說通過USB聯網可不可以充電,事實上通過USB聯網同時是可以充電的。所以隻要通過USB插在電腦上,PostmarketOS就是一台帶UPS的小主機。可以像我一樣套娃(手機連接小主機)。

docker鏡像和容器通俗講解(舊手機刷PostmarketOS系統後如何安裝Docker)3

以及通過SSH小主機後,再SSH手機:

docker鏡像和容器通俗講解(舊手機刷PostmarketOS系統後如何安裝Docker)4

唯一遺憾的是手機OTG拓展時不能充電,不然通過OTG拓展真可以做一台功能不錯的小主機了(至少做個下載機沒問題)。如果USB口被占用隻能通過改裝電池位置的電源接口。

如果手機内存比較小,比如像我這台紅米2(1G 8G),其實安裝Docker的意義不大,因為很多鏡像安裝下來有幾百兆,空間馬上就會被占滿。如果有性能好一點的手機可以用Docker搭建不少服務。如果手機性能較差,主要用于學習Linux。把它當成一個小服務器進行測試學習Nginx PHP Sqlite勉強可以運行。

docker鏡像和容器通俗講解(舊手機刷PostmarketOS系統後如何安裝Docker)5

另外編譯安裝wakeonlan後作為局域網的一個喚醒器喚醒局域網中的其它主機,直接命令操作比較麻煩可以通過設置alias配置:

alias ubuntu='~/sd/WakeOnLAN-0.3/a.out mac地址'

最後關于折騰是不是浪費時間這個問題,折騰是真折騰。至于是不是浪費時間,主要看目的和個人愛好,但有一說一PostmarketOS這個項目是真不錯。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved