1. 前置条件
手机:k20pro
已root
已刷入OrangeFox Recovery
已安装面具
已安装Linux deploy (安装类型为目录,Ubuntu20.04,初始化系统选择sysv,初始化设置不勾选异步处理)
2. 刷入编译开启docker的内核
https://wwtz.lanzoul.com/iCNLc28jkxad 密码:9thv 下载boot.img文件
打开面具,点击点击安装,点击选择并修改一个文件,选择下载的boot.img文件 重启到Recovery,刷入面具生成的boot.img文件
重启,手机会有弹出提示,是正常现象
3. 挂载
在Linux deploy开启telnet,在电脑使用telnet连接(或者直接使用手机终端进行操作),输入指令挂载 cgroup(手机每次重启都要执行一遍,如果安装了面具,可以在/data/adb/post-fs-data.d目录下新建一个sh脚本,把下面的命令粘进去,手机开机时会自动执行,如果执行失败,记得改一下脚本文件的权限)
su -c "mount -t tmpfs -o mode=755 tmpfs /sys/fs/cgroup && mkdir -p /sys/fs/cgroup/devices && mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices && mkdir -p /sys/fs/cgroup/systemd && mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd"
在手机上执行命令,查看挂载是否生效了
在Linux deploy按照以下顺序挂载
4. 安装docker
sudo apt-get update
sudo apt install curl software-properties-common build-essential libssl-dev libncurses5-dev libncursesw5-dev
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install curl build-essential libssl-dev libncurses5-dev libncursesw5-dev
apt install docker-ce docker-ce-cli containerd.io
5. 配置与验证docker
新建/etc/docker/daemon.json文件,输入以下内容
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://iju9kaj2.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com",
"https://hub.docker.com",
"http://mirrors.ustc.edu.cn"
],
"ip-masq": true
}
重启docker
service docker restart
验证
docker run --rm hello-world
成功截图
参考链接
k20pro刷可以用docker的内核
旧手机拯救计划 - 在Android手机上部署Docker与LXC
Ubuntu20.04安装Docker详解,离线安装及联网安装
编译的内核