银河麒麟V10安装Docker需内核级适配:默认禁用overlay、br_netfilter模块及cgroup v2,须手动加载模块、修改GRUB参数并重写daemon.json,官方脚本和通用源均失败。
安装 docker engine 后提示缺少内核模块(如 overlay、br_netfilter、ip_tables 等),说明系统内核虽版本达标,但关键功能未启用或模块未加载。这不是 docker 安装失败,而是运行依赖未就绪。修复重点是让内核“交出”容器必需的能力。
确认缺失的具体模块
先看报错原文,常见提示包括:
- Failed to load kernel module: overlay
- modprobe: FATAL: Module br_netfilter not found
- Error initializing graphdriver: driver not supported(多因 overlay 未就绪)
执行以下命令快速筛查:
lsmod | grep -E 'overlay|br_netfilter|iptable|nf_nat'
若无输出,说明模块未加载;若提示 Module ... not found,则可能未编译进内核或路径不对。
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
手动加载并持久化启用
对已存在但未加载的模块,立即加载并设为开机自动:
- 运行:
sudo modprobe overlay && sudo modprobe br_netfilter - 写入配置确保重启不失效:
echo 'overlay' | sudo tee -a /etc/modules && echo 'br_netfilter' | sudo tee -a /etc/modules - 部分系统还需启用 IPv4 转发:
echo 'net.bridge.bridge-nf-call-iptables = 1' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
国产/定制系统特殊处理
银河麒麟 V10 SP1、AnolisOS、OpenWRT 或 Rockchip ARM64 等平台,常出现模块未编译进内核的情况:
- 银河麒麟:默认内核
4.19.90-23.x.ky10不含overlay模块,需联系厂商获取带模块的内核包,或改用devicemapper驱动(不推荐,性能差) - ARM64 Ubuntu(如 Rockchip):精简内核常缺
iptable_nat、nf_nat,可临时禁用 iptables 后端:{"iptables": false}加入/etc/docker/daemon.json - 龙芯/申威等架构:确认是否支持
overlay2,不支持则在 daemon.json 中强制指定"storage-driver": "vfs"(仅测试用)
验证模块与 cgroup 是否真正就绪
加载不等于可用。需进一步验证运行时环境:
- cgroups v2 是否启用:
stat -fc %T /sys/fs/cgroup应返回cgroup2fs;若为cgroup,需在 GRUB 参数中加systemd.unified_cgroup_hierarchy=1并更新配置 - overlay2 是否可用:
docker info | grep "Storage Driver"显示overlay2且无报错 - 手动启动守护进程测试:
sudo dockerd --debug,观察终端是否卡在loading plugin...或直接 panic

















