安卓开启docker支持(2023,6.14)

这篇具有很好参考价值的文章主要介绍了安卓开启docker支持(2023,6.14)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安卓开启docker支持(2023,6.14)

1.拉取你的内核源码
2.修改文件
修改内核源码文件夹里的/kernel/Makefile文件

diff --git a/kernel/Makefile b/kernel/Makefile
index d5c1115..2dea801 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -121,7 +121,7 @@ $(obj)/configs.o: $(obj)/config_data.h
# config_data.h contains the same information as ikconfig.h but gzipped.
# Info from config_data can be extracted from /proc/config*
targets += config_data.gz
-$(obj)/config_data.gz: arch/arm64/configs/lavender_stock-defconfig FORCE
+$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
    $(call if_changed,gzip)

    filechk_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/basic/bin2c; echo "MAGIC_END;")

修改内核源码文件夹里的/net/netfilter/xt_qtaguid.c文件

--- orig/net/netfilter/xt_qtaguid.c     2020-05-12 12:13:14.000000000 +0300
+++ my/net/netfilter/xt_qtaguid.c       2019-09-15 23:56:45.000000000 +0300
@@ -737,7 +737,7 @@
{
        struct proc_iface_stat_fmt_info *p = m->private;
        struct iface_stat *iface_entry;
-       struct rtnl_link_stats64 dev_stats, *stats;
+       struct rtnl_link_stats64 *stats;
        struct rtnl_link_stats64 no_dev_stats = {0};  
@@ -745,13 +745,8 @@
        current->pid, current->tgid, from_kuid(&init_user_ns, current_fsuid()));
        iface_entry = list_entry(v, struct iface_stat, list);
+       stats = &no_dev_stats; 
-       if (iface_entry->active) {
-               stats = dev_get_stats(iface_entry->net_dev,
-                                     &dev_stats);
-       } else {
-               stats = &no_dev_stats;
-       }
        /*
         * If the meaning of the data changes, then update the fmtX
         * string.

3.拉取docker参数检查脚本(安卓上用termux执行即可)

#需要root权限执行
wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh
chmod +x check-config.sh
sed -i '1s_.*_#!/data/data/com.termux/files/usr/bin/bash_' check-config.sh
sudo ./check-config.sh

如果下载不了那个文件,我这里同步到gitee了,可以改成我这个

#需要root权限执行
git clone https://gitee.com/SorryMyLife/moby.git
cp moby/contrib/check-config.sh check-config.sh
chmod +x check-config.sh
sed -i '1s_.*_#!/data/data/com.termux/files/usr/bin/bash_' check-config.sh
sudo ./check-config.sh

执行完后,会出现一些参数内容,比如这样:
docker 安卓,安卓ROM,android,docker,容器,linux
docker 安卓,安卓ROM,android,docker,容器,linux
可以看到,有一大堆的missing,那些都是需要开启的,不过主要是cgroup部分,下面的zfs可以不用管,按照对应的config名字,添加到你的config文件里面就行了。我这里有一部分摩托罗拉edge s pro(motorola edge 20 pro)的docker开启参数,适用于lineage 19.1 official.

#docker options
CONFIG_NAMESPACES=y
CONFIG_NET_NS=y
CONFIG_PID_NS=y
CONFIG_IPC_NS=y
CONFIG_UTS_NS=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CPUSETS=y
CONFIG_MEMCG=y
CONFIG_KEYS=y
CONFIG_VETH=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MARK=y
CONFIG_IP_NF_NAT=y
CONFIG_NF_NAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_NF_NAT_IPV4=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_OVERLAY_FS=y
CONFIG_USER_NS=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_IP_VS=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=y

######################################################

添加完后,你就可以开始构建支持docker的内核了,期间可能会出现很多问题,刷入内核后也许会不开机,也许会存在驱动缺失,等等,你只能通过修改那些config参数来排查,看看最后是哪些适合你,这个没有捷径,只能一个一个的尝试。

=======================================================================

如果不添加上面的内容,直接运行docker,会报错的。
docker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linux

这里是开启后的check参数信息

docker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linux也可以运行docker了。
docker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linuxdocker 安卓,安卓ROM,android,docker,容器,linux

END
参考文章:xda论坛 私人文章 github文章文章来源地址https://www.toymoban.com/news/detail-742337.html

到了这里,关于安卓开启docker支持(2023,6.14)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker启动Centos7容器,并在容器中安装Docker,且开启SSH

    前言 此处我的需求是,在docker中启动centos7容器,并在容器中安装docker,支持ssh远程连接。如果你不需要在容器中安装docker,则可以只看第一部分的前两段,分别为: 启动centos7 容器 和 进入刚刚创建的容器 ,然后直接跳过安装docker阶段,直接去看 开启 ssh 服务 即可。 启动c

    2024年02月15日
    浏览(47)
  • 「快学Docker」开启容器化时代的利器

    Docker是一个用于构建和管理应用程序容器的开源平台。它提供了一种轻量级且可移植的容器化解决方案,使开发人员能够将应用程序与其依赖项一起打包并在不同环境中进行部署。 背景 在传统的软件开发中,应用程序往往需要在不同的操作系统和环境中部署和运行。这导致

    2024年02月13日
    浏览(37)
  • Android Studio 支持安卓手机投屏

    有时当我们在线上做技术分享或者功能演示时,希望共享连接中的手机屏幕,此时我们会求助 ApowerMirror,LetsView,Vysor,Scrcpy 等工具。如果你是一个 Android Developer,那么现在你有了更好的选择。 自 Android Studio Electric Eel (电鳗)起支持了手机投屏,且功能非常强大: 手机屏幕

    2024年01月17日
    浏览(46)
  • Android文件选择器 路径选择 支持安卓4.4 ~ 13 支持Android/data目录访问 支持SD卡 适配Android11

    Android上进行文件选择或操作的第三方库,自动申请存储权限,支持 Android4.4 ~ 13,再也不用为了适配各种版本而苦恼了,快速集成,一句代码搞定,完善的文档,支持无root权限访问和操作Android/data和Android/obb目录(适配Android 13),支持SD卡,高度自定义UI满足你的所有需求,使用非常

    2024年02月04日
    浏览(40)
  • 【深入探索Docker】:开启容器化时代的技术奇迹

    🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专栏:小智带你闲聊 🎉代码仓库:小智的代码仓库 在当今快节奏的软件开发和部署环境中,Docker作为一种容器化平台已经成为备受关注的技术奇迹。它革新了应用程序的交付方式,为开发人员和运维团

    2024年02月16日
    浏览(41)
  • docker 在已经启动的容器中开启端口映射

    在找这个ID的时候要先在之前docker没关闭之前查看 配置文件如下 这个是hostconfig.json 在这里要把映射的端口信息写入 这里是config.v2.json 这里要把暴露的端口写入 在本机查看一下端口占用

    2024年02月08日
    浏览(41)
  • 潇洒郎: 小白一次性成功——红米 Note 12 5G Android12 系统13.0.16/14.0.9 小米红米手机解BL锁+ROOT-刷面具—官方ROM下载-线刷降级—解锁system系统分区

    下载工具 申请解锁小米手机 (miui.com) 驱动安装进入Fastboot模式后,会自动识别已连接, 否则显示未连接

    2024年01月25日
    浏览(111)
  • 2023-06-14 stonedb-包含decimal的存在union的派生表-语法不支持-分析

    stonedb-包含decimal的存在union的派生表-语法不支持-分析 相关ISSUE: https://github.com/stoneatom/stonedb/issues/1873 记录: https://stoneatom.yuque.com/staff-ft8n1u/lsztbl/rxlhws22n0f1otxn/edit#AqyB decimal: int:

    2024年02月09日
    浏览(38)
  • Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤

    1、简介 搭建Qt For Android开发环境需要安装的软件有: JAVA SDK Android SDK Android NDK 其中Android NDK直接下载的压缩包,解压即可。 Android SDK提供了安装包和压缩包,用哪个都行。 Qt For Android开发环境的搭建说简单也简单,说复杂也比较复杂。说它简单是因为安装的软件就一两个,安

    2024年02月02日
    浏览(50)
  • android免root读写u盘最新方法,支持安卓Q+

    本人是在写一个app需要读取u盘文件列表,网上找了好多方法,要不就是没有media权限,要不就是收不到广播,全部用不了,就这样搁置了一段时间终于又找到了一个大佬的方法,在这做个笔记 谷歌从Android5.0以上已经不支持开发者随便读写手机的外部存储(包含tf卡、otg外接

    2023年04月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包