利用termux和qemu虚拟机使用docker
操作前提
由于大部分手机的内核并不满足使用docker的要求,因此需要用root权限修改手机部分kernel来满足,但是手机root并不适用所有手机,而且root也有一定的风险,因此使用termux终端来通过qemu虚拟机进行容器化操作可以实现满足docker运行的要求。
操作步骤
- 安装termux或者zerotermux或者其他类似终端
该软件作为开源项目可从github或gitee等网站进行下载 - 安装qemu虚拟机
进入termux终端后进行换源并安装qemu套件
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade
apt install qemu*
- 创建虚拟磁盘并安装alpine虚拟机
mkdir alpine && cd alpine
qemu-img create -f qcow2 alpine.qcow2 50G
wget https://mirrors.aliyun.com/alpine/v3.15/releases/x86_64/alpine-extended-3.15.0-x86_64.iso
qemu-system-x86_64 -smp 2 -m 2048 \
-drive file=alpine.qcow2,if=virtio \
-netdev user,id=n1,hostfwd=tcp::2222-:22 \
-device virtio-net,netdev=n1 \
-cdrom alpine-virt-3.15.0-x86_64.iso -boot d \
-nographic
此时进入alpine安装,建议参考官方wiki:
https://wiki.alpinelinux.org/wiki/Install_Alpine_on_VMware_Workstation
https://wiki.alpinelinux.org/wiki/Installing_Alpine_in_a_virtual_machine
- 编写开机脚本
nano run.sh
填入以下内容:
qemu-system-x86_64 -smp 2 -m 2048 \
-drive file=alpine.qcow2,if=virtio \
-netdev user,id=n1,hostfwd=tcp::2222-:22 \
-device virtio-net,netdev=n1 \
-nographic
- 重启虚拟机并安装docker
bash run.sh
apk add docker && apk add docker-compose
service docker start
rc-update add docker boot
docker run hello-world
至此,可以愉快的使用docker了
反思与总结
我本人尝试了许多次手机安装docker的操作,这种借助qemu虚拟机的方法十分局限,因为qemu无法调用kvm,所以十分卡顿,建议仅作为一种尝试,并不建议日常使用
本文作者:whiphi
本文链接:https://www.cnblogs.com/k33t/p/18090889
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步