You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Armbian Ubuntu的Tinkerboard上Docker启动容器失败求助

解决Tinkerboard Armbian Ubuntu上Docker启动容器的BPF错误

问题原因

报错bpf_prog_query(BPF_CGROUP_DEVICE) failed: function not implemented是因为当前Rockchip内核未编译BPF_CGROUP_DEVICE特性,Docker在配置容器cgroup时依赖该功能,导致初始化失败。

解决步骤

方法1:升级Armbian内核到支持BPF的版本

  1. 执行系统全量升级,获取最新内核:
    sudo apt update && sudo apt full-upgrade -y
    
  2. 重启设备:
    sudo reboot
    
  3. 重启后再次尝试运行容器:
    sudo docker run -d --name hello hello-world
    

方法2:修改Docker的cgroup驱动

如果升级内核无效,可切换Docker的cgroup驱动为cgroupfs(避免依赖BPF特性):

  1. 编辑Docker配置文件(不存在则创建):
    sudo nano /etc/docker/daemon.json
    
  2. 添加以下配置内容:
    {
      "exec-opts": ["native.cgroupdriver=cgroupfs"]
    }
    
  3. 保存并退出编辑器,重启Docker服务:
    sudo systemctl restart docker
    
  4. 再次测试容器启动:
    sudo docker run -d --name hello hello-world
    

验证内核配置(可选)

可以先确认内核是否缺少该特性:

zcat /proc/config.gz | grep BPF_CGROUP_DEVICE

若返回# CONFIG_BPF_CGROUP_DEVICE is not set,则说明内核确实未开启该功能,需要通过上述方法解决。

内容的提问来源于stack exchange,提问作者z3r0lvld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:25:38