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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。