Rockchip ARM64 Ubuntu 20.04 Docker启动失败“failed to mount overlay: no such device”主因是内核缺失CONFIG_OVERLAY_FS、nf_nat、iptable_nat、bridge等模块;修复需检查并启用对应内核配置,或临时改用vfs存储驱动及禁用iptables。

Rockchip ARM64(如 RK3568/RK3588)等平台在 Ubuntu 20.04 上安装 Docker 后,daemon 启动失败、报错 “failed to mount overlay: no such device” 或 “operation not supported”,大概率是内核缺少关键网络与存储模块,而非 Docker 安装本身出错。修复重点不在重装 Docker,而在补全内核能力或绕过缺失依赖。
确认缺失的内核模块
先检查最常缺失的几项:
-
OverlayFS 支持:运行
zcat /proc/config.gz | grep CONFIG_OVERLAY_FS(若无/proc/config.gz,查/boot/config-$(uname -r)),应为y或m;缺失则 overlay 存储驱动不可用 -
Netfilter/NAT 模块:执行
lsmod | grep -E "(nf_nat|iptable_nat|nf_conntrack)",缺nf_nat、iptable_nat会导致桥接网络和端口映射失败 -
桥接支持:运行
lsmod | grep bridge,缺bridge和ebtable_*模块时,docker0网桥无法创建
临时绕过方案(适用于调试或精简内核)
若无法重新编译内核或加载模块,可修改 Docker 配置跳过依赖:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- 编辑
/etc/docker/daemon.json(不存在则新建),写入以下内容:{ "iptables": false, "ip-forward": true, "experimental": false, "storage-driver": "overlay2", "default-runtime": "runc" } - 禁用 iptables 后,Docker 不再尝试操作
DOCKER链,避免 “No chain/target/match” 报错 - 若仍报 overlay 错误,改用
devicemapper(需 lvm2)或vfs(仅测试用,性能差):
将"storage-driver": "vfs"加入 daemon.json - 执行
sudo systemctl daemon-reload && sudo systemctl restart docker
根本解决:启用或加载缺失模块
推荐优先走这条路径,确保功能完整:
- 对已编译内核,尝试手动加载:
sudo modprobe overlaysudo modprobe nf_natsudo modprobe iptable_natsudo modprobe bridge - 若提示
Module not found,说明模块未编译进内核;需重新配置内核(make menuconfig),启用:
→ File systems → Overlay filesystem support
→ Networking support → Network packet filtering framework (Netfilter) → 启用 NAT、conntrack、iptables modules
→ Bridge: 802.1d Ethernet Bridging - 使用厂商 SDK 提供的完整内核镜像(如 Rockchip SDK 中的
kernel-5.10-rockchip64),通常已开启全部 Docker 所需选项
验证网络是否可用
启动成功后,快速验证基础网络功能:
- 运行
docker run --rm hello-world确认守护进程就绪 - 检查网桥:
ip link show docker0(启用 iptables 时应存在;禁用后可能不自动创建,但容器仍可通过 host 网络模式运行) - 测试容器互通:
docker run -d --name test1 --network bridge nginx,再docker exec test1 ping -c 2 172.17.0.1(docker0 网关)

















