手机网站建设好吗,湖南省专业建设公司网站的机构,如何查看网站使用什么程序做的,微场景WordPressAndroid系统开启Docker支持
1. 基础问题
1.1 为什么Android上不能直接使用Docker?
原因是docker依赖的Linux的内核特性#xff0c;例如#xff1a;cgroup、namespace等#xff0c;在Android内核中默认没有开启。
1.2 如何在Android上开启docker支持#xff1f;
需要修…Android系统开启Docker支持
1. 基础问题
1.1 为什么Android上不能直接使用Docker?
原因是docker依赖的Linux的内核特性例如cgroup、namespace等在Android内核中默认没有开启。
1.2 如何在Android上开启docker支持
需要修改kernel将kernel配置成支持docker的kernel才可以在Android上原生运行docker.
1.3 如何检查支持docker功能的内核配置情况
需要在Android设备上安装Termux软件包使用moby的check-config脚本进行内核配置项检查 2. Moby check脚本
2.1 Moby check脚本前置使用条件
1. Android设备上安装termux软件包并初始化
2. 下载Moby脚本用于检查缺少的内核功能
2.2 Moby check脚本下载地址
链接https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh 具体执行可参考如下步骤
#需要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
2.3 参数CONFIG配置说明
Generally Necessary下的项目是一定要开启的参数
Optional Features为可开可不开
zfs项不用处理 ----原因到6.1.9版本仍未进入Linux主线内核所以这些参数是开不了的
3. 修改内核 进入menuconfig 对照Moby脚本显示缺少的CONFIG,将其逐一开启。 需要修改源码目录下的kernel/Makefile文件。具体参考如下---在我们当前项目代码里需要验证
diff --git a/kernel/Makefile b/kernel/Makefile
index d5c1115..2dea801 100644
--- a/kernel/Makefileb/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;)4. 需要修改内核源码文件夹里的/net/netfilter/xt_qtaguid.c文件---在我们当前项目代码里需要验证
--- orig/net/netfilter/xt_qtaguid.c 2020-05-12 12:13:14.000000000 0300my/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.4. Android系统启用Docker步骤
第1步设备安装Termux软件包并初始化
第2步下载Moby检查脚本
第3步运行Moby检查脚本检查内核缺失项配置参数查看CONFIG状态显示missing的配置项即为缺失的功能
第4步修改内核配置文件开启缺失配置
第5步修改内核文件
第6步编译内核
第7步: 将新内核刷到设备里重启开机
第8步运行Moby检查脚本查看CONFIG状态若CONFIG项没有missing则表示当前kernel已支持docker, 若仍有显示missing的项则需重复第4步开始的操作直至所有CONFIG项没有missing.
第9步安装docker与docker compose
第10步启用docker daemon