Android termux免root安装docker

2024-02-05 11:24:15 浏览数 (2)

1. 安装qemu

代码语言:bash复制
apt install qemu-utils qemu-common qemu-system-x86_64-headless

2. 下载 Alpine Linux 3.12(virt 优化)ISO镜像文件

代码语言:bash复制
mkdir alpine && cd $_
wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso

3. 创建磁盘空间

代码语言:bash复制
qemu-img create -f qcow2 alpine.img 5G

4. 启动镜像文件

代码语言:bash复制
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。

5. 设置网络,一路选默认:

代码语言:bash复制
setup-interfaces
ifup eth0

#设置好之后可以自己ping一下,是否设置正确

6. 让开机时能输出信息

代码语言:bash复制
sed -i -E 's/(local kernel_opts)=.*/1="console=ttyS0"/' /sbin/setup-disk

7.配置安装文件:

代码语言:bash复制
vi answerfile

输入i,进入编辑,添加以下内容,按esc退出编辑,输入:wq保存退出

代码语言:txt复制
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"

8.安装系统至硬盘,建立 root 帐号的密码。

代码语言:bash复制
setup-alpine -f answerfile

9. 安装完之后,关机:

代码语言:bash复制
poweroff

10. 下一次启动:

代码语言:bash复制
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

#m是分配2GB内存,cpu是2核CPU

#hostfwd则是把外部8081通讯端口转发到虚拟机的80通讯端口。

各种qemu参数可以参考:qemu-system-x86_64命令总结

11. 安装 docker,并设定开机自动启动服务。

代码语言:bash复制
apk update && apk add docker
service docker start
rc-update add docker

参考资料

https://zsxwz.com/2022/03/05/termux免root安装docker/

0 人点赞