banner
云野阁

云野阁

闲云野鹤,八方逍遥

Android手機安裝docker

Android 手機使用 ALPINE-TERM 安裝 docker#

Alpine Term 是一款基於 Termux 的安卓應用,集成了 QEMU 虛擬機Alpine Linux,支持在安卓手機上免 Root 運行完整的 Linux 環境,並可直接使用 Docker 等容器技術。

環境要求#

手機系統環境必須滿足:

  • AArch64 架構(一般都是)
  • 安卓 7.0+
  • 內部存儲上至少有 500 MB 的空間。
  • 連接網絡

安裝 Alpine Term#

(1)從 GitHub 下載 ALPINE-TERM APK(606MB)。

下載鏈接:https://github.com/FakeRajbhx/alpine-term/releases/download/New/alpine-term-v16.0-release.apk

(2)在手機上安裝完成後,進入 app,等待系統加載完成。

(3)輸入默認用戶 alpine 和密碼 alpine,登錄系統。

(4)切換至 root 賬號,root 用戶默認密碼為 alpine。可輸入passwd進行修改。

#切換至root命令行
sudo -s

(4)修改 sshd 服務的配置文件,開啟 SSH 遠程連接

vi /etc/ssh/sshd_config
#允許root用戶連接登錄
PermitRootLogin yes
#開啟密碼登錄
PasswordAuthentication yes

#重啟sshd服務
service sshd restart

(5)在 ALPINE-TERM 終端界面的上方中,右劃,調出終端菜單,選擇[1] QEMU, 輸入以下命令,點擊回車,開啟 ssh 遠程連接端口。

#映射22端口到手機的8034端口
hostfwd_add tcp::8034-:22

1

每次啟動 ALPINE-TERM 時都需要輸入該命令才可進行遠程連接

(6)修改軟件倉庫源

#註銷原有軟件倉庫源
mv /etc/apk/repositories /etc/apk/repositories.bak
#使用清華源
echo "
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.13/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.13/community
" > /etc/apk/repositories 

(7)修改 DNS

sed -i 's/nameserver 94.16.114.254/nameserver 114.114.114.114/g' /etc/resolv.conf 
sed -i 's/nameserver 185.120.22.15/nameserver 223.5.5.5/g' /etc/resolv.conf

安裝 docker#

(1)更新軟件包

apk update  && apk upgrade --force-broken-world

(2)系統自帶有 docker,但沒有 docker compose

#設置開機自啟
rc-update add docker boot
#啟動docker
service docker start
#查看版本
docker version

[可選] 更換軟件倉庫源,卸載系統自帶 docker,安裝新版 docker 和 docker compose。

echo "
https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community
" > /etc/apk/repositories 
#更新
apk update 

#卸載docker
apk del docker --force-broken-world
#安裝新版docker、docker compose
apk add docker docker-compose  docker-cli-compose --force-broken-world

(3)配置國內鏡像源,修改 docker 默認存儲目錄

echo '{
  "data-root": "/data/dockerData",
  "registry-mirrors": ["https://docker.1ms.run"]
}' > /etc/docker/daemon.json

(4)啟動 docker,並設置開機自啟

#重啟docker
service docker restart
#設置開機自啟
rc-update add docker boot
#查看版本
docker version
docker compose version

測試訪問#

(1)創建 nginx 容器

#拉取nginx鏡像並創建容器,映射主機的8080端口
docker run -itd --name=nginx -p 8080:80 nginx
#查看容器運行
docker ps

如果容器啟動時出現類似報錯,重啟 alpine 主機即可

docker: Error response from daemon: failed to create endpoint nginx on network bridge: failed to add the host (veth3f2f206) <=> sandbox (veth9a8264a) pair interfaces: operation not supported.

(2)在 QEMU 中至配置相應端口

#將主機的8080端口映射到手機的8081端口
hostfwd_add tcp::8081-:8080

類似 SSH 映射,需要映射容器端口時,也要在 QEMU 中執行:

hostfwd_add tcp:: 手機端口 -: 主機端口

(3)在瀏覽器中輸入 ip + 端口訪問

2

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。