一、首先内核编译,开启docker和kernelsu
1. github上搜索自己手机型号内核代码,例如小米10,将其fork到自己仓库
2. KernelSU_Action fork到自己仓库
3. 修改config.env配置
主要修改一下配置
4. 点击action编译内核,编译成功后下载zip文件刷入
二、手机上安装lxc相关模块
主要安装以下两个模块,安装完成后重启
内核下载地址
https://github.com/tomxi1997/lxc-magisk-modules-for-android-/releases
主要下载以下两个,这里不推荐ubuntu22.04版本,网络重连后,会 导致容器网络无法访问,18.04没有该问题
https://github.com/tomxi1997/lxc-magisk-modules-for-android-/releases/download/v1/LxcMagisk-core.zip
三、连接与配置
1. 手机上安装ZeroTermux或者直接使用电脑xhell连接
下载地址:https://github.com/hanxinhao000/ZeroTermux/releases/download/release/ZeroTermux-0.118.39.apk
手机上ZeroTermux执行安装tsu,接着执行tsu,ZeroTermux需要给root权限
pkg install tsu
source /data/lxc/env.sh
查看容器运行状态 running表示运行中 lxc-ls -f
1. lxc-checkconfig:检查系统环境是否满足容器使用要求。
2. lxc-create:创建lxc容器;
lxc-create -n NAME -t TEMPLATE_NAME
3. lxc-start:启动容器;
lxc-start -n foo [-f config] /bin/bash
lxc-start -n NAME -d
-d守护进程方式启动容器。如果没有指定命令,lxc-start将运行/sbin/init。
lxc-create创建的容器,在停止运行后需要使用lxc-destroy销毁。
4. lxc-execute:执行命令
lxc-execute -n foo [-f config] /bin/bash
lxc-execute通过中间进程lxc-init使命令在容器中运行。
如果容器不存在,lxc-execute会自动创建一个,停止运行后会被自动销毁。
lxc-execute启动应用程序,配置优先级如下:
如果执行-f选项,那么之前创建容器的配置文件不会被使用。如果指定-s选项,则在命令行中配置的键值对会覆盖配置文件(无论之前的还是-f指定的)的相同配置。
5. lxc-stop:停止容器;(停止命令很慢)
lxc-stop -n NAME -d
6. lxc-destory:删除处于停机状态的容器;
lxc-destroy -n NAME
7. lxc-info:查看容器相关的信息;
lxc-info -n NAME
8. lxc-ls:列出容器
lxc-ls --fancy 列出详细信息
9. lxc-monitor:监控容器
lxc-monitor -n "foo|bar"
lxc-monitor -n ".*" ;监控所有容器
当一个容器的状态变化时,lxc-monitor会在屏幕上打印出容器的状态。
10. lxc-wait:监听容器特定状态后退出
lxc-wait -n foo -s STOPPED &
11. lxc-cgroup:设置或获取与cgroup相关的参数(control group subsystem)
lxc-cgroup -n foo cpuset.cpus
lxc-cgroup -n foo cpu.shares 512
11. lxc-snapshot:创建和恢复快照;
2. 使用ssh进行连接
ssh root@127.0.0.1 -p 8188
因为这里是本机执行,所以直接使用127,远程使用局域网ip,用户名root,密码1
查看docker运行状态,如图running表示正常运行