0
点赞
收藏
分享

微信扫一扫

安卓手机安装docker

  1. 安装 termux
    下载地址如下,下载arm64的那个,然后直接安装

https://github.com/termux/termux-app/releases

  1. 打开termux,查询手机ID(手机不方便输入,我这里是oppo手机,使用了oppo的跨屏互联)
    任意网卡的IP都行,除了 lo,lo是回环地址,指向的本地。
  2. 安卓手机安装docker_docker

  3. 安装ssh工具

#安装ssh
pkg install openssh

#启动ssh,需要注意这里的ssh默认端口是8022,不是22
sshd

#加入开机自动启动sshd(如果需要就开启,不需要就不开启),去掉开机启动去对应文件删除sshd,这里的开机启动时开启termux就启动,并不是手机开机就启动,如果需要开机就启动,把termux设置成开机启动。
echo "sshd" >> ~/.bashrc 


#如果需要alpine的虚拟机也是开机启动 
#vi .bashrc 输入以下内容
sshd
cd /data/data/com.termux/files/home/alpine
./run.sh

  1. 查看当前用户名和设置密码

#查看用户名,我这边结果是u0_a377,你应该是不同的
whoami


#给当前用户设置密码,也就是给u0_a377这个用户设置密码
passwd

  1. 使用任意ssh工具远程连接
    这里的IP是前面查询到的IP,变了wifi所以IP变了。
  2. 安装 wget 和 vim
    安装可后面备用

pkg install wget
pkg install vim

  1. 安装qemu

apt install qemu-utils qemu-common qemu-system-x86_64-headless

  1. 下载Alpine linux系统(这里需要下载 arm架构的linux ,x86的 centos 或者 Ubuntu 不确定能不能用,qemu好像都支持)

mkdir alpine && cd $_

wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso

  1. 创建虚拟硬盘

qemu-img create -f qcow2 alpine.img 5G

  1. 在QEMU里面启动安装alpine的引导程序

qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \
  -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
  -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \
  -cdrom alpine-virt-3.12.3-x86_64.iso \
  -nographic alpine.img

然后使用root用户登录,这个用户是QEMU常见的虚拟机的默认用户是root和前面 termux的 用户无关。

  1. 网卡设置

setup-interfaces
#然后又更具配置配置网卡

ifup eth0

  1. 让开机时能输出信息

sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk

  1. 创建安装文件
    vi answerfile

KEYMAPOPTS="us us"
HOSTNAMEOPTS="-n alpine"
INTERFACESOPTS="auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
    hostname alpine
"
TIMEZONEOPTS="-z UTC"
PROXYOPTS="none"
APKREPOSOPTS="http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community"
SSHDOPTS="-c openssh"
NTPOPTS="-c busybox"
DISKOPTS="-v -m sys -s 0 /dev/sda"

  1. 安装alpine

setup-alpine -f answerfile

  1. 安装完成之后关机

poweroff

  1. 创建启动脚本

touch run.sh
chmod 775

vim run.sh,然后输入以下内容(这时候手机的8081被映射到虚拟机的80端口)

#这是创建qemu的指令,详情参数查询qemu的文档
qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \
  -drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
  -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \
  -nographic alpine.img

  1. 启动qemu虚拟机里面的alpine系统

./run.sh

  1. 然后安装docker 和启动
    alpine的包管理工具是apk,termux的包管理工具是 pkg,这类似centos的包管理工具是yum,ubuntu的是apt

#这个docker改了daemon.json的镜像地址以后依旧是连接的docker.io不知道为啥(后查找,别的地方的docker 也不能用了,好像国内的docker都不能用了)
apk update && apk add docker
service docker start
rc-update add docker

  1. qemu指定的端口是手机的8081映射到虚拟机的80端口,我们在虚拟机里面安装个nginx在外面是可以直接访问的

#安装nginx
apk add nginx

  1. 修改nginx的配置文件

默认配置文返回的都是404,修改以后可以在外面正常访问

修改以后启动

service nginx start

安卓手机安装docker_nginx_02

  1. 浏览器访问:http://192.168.156.42:8081/
  2. 有IPV6可以通过DDNS 映射出去作为移动服务器了,可以跑个redis ,mysql 之类的之类的小东西。
  3. 不知道安卓上的qemu虚拟机性能损失多少,如果需要性能可以考虑root以后直接在手机上安装ubuntu之类的linux,以达到性能最低损失
举报

相关推荐

0 条评论