关键不是“能不能装”,而是选对方法、避开架构和系统适配的坑:32位Raspberry Pi OS用官方脚本或apt仓库,ARM64 Ubuntu需换源为ubuntu并验证aarch64架构与内核cgroups/namespaces支持。
在树莓派上成功安装 docker engine,关键不是“能不能装”,而是选对方法、避开架构和系统适配的坑。32位 raspberry pi os(bookworm/bullseye)和 arm64 系统(如 ubuntu server for pi 4b)都支持 docker,但安装路径略有不同。下面按最常见、最稳妥的场景给出实操方案。
确认系统类型与架构
先执行两条命令,明确你的基础环境:
-
cat /etc/os-release | grep -E "(PRETTY_NAME|VERSION_CODENAME)"—— 看是 Bookworm 还是 Bullseye,或是 Ubuntu 22.04/24.04 -
uname -m—— 返回armv7l是 32 位,aarch64是 64 位
不同组合对应不同安装策略:32 位系统用官方 apt 仓库或一键脚本;ARM64 Ubuntu 则需注意仓库地址和内核模块检查。
推荐安装方式:官方一键脚本(通用且省心)
适用于绝大多数树莓派用户,尤其新手或想快速验证 Docker 是否可用的场景。该脚本会自动识别系统版本和架构,拉取匹配的二进制包:
- 运行:
curl -fsSL https://get.docker.com | sudo sh - 添加当前用户到 docker 组:
sudo usermod -aG docker $USER,然后退出终端重登或执行newgrp docker - 验证:
docker --version和docker run hello-world(首次会自动拉取镜像并运行)
这个方法跳过了手动配置源、密钥、架构判断等步骤,出错概率最低,适合 95% 的树莓派用户。
进阶方式:手动配置官方 apt 仓库(适合需要长期维护或定制化部署)
如果你用的是 32 位 Raspberry Pi OS,可走标准 Debian 流程:
- 更新并安装依赖:
sudo apt update && sudo apt install ca-certificates curl gnupg - 添加 GPG 密钥:
sudo install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.asc - 添加源(注意是
raspbian,不是ubuntu):echo "deb [arch=armhf signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/raspbian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
⚠️ 注意:ARM64 Ubuntu 用户需把源中的 raspbian 换成 ubuntu,并确保 $(dpkg --print-architecture) 返回 arm64,否则会装错包。
安装后必做三件事
装完不等于能稳定用,以下操作直接影响后续体验:
-
配置国内镜像源:编辑
/etc/docker/daemon.json,加入国内加速器(如阿里云、中科大),避免拉镜像超时失败 - 检查防火墙兼容性:若启用 ufw,请注意 Docker 默认绕过 ufw 规则,建议改用 iptables-legacy 或禁用 ufw 后再启 Docker
-
验证内核支持(尤其 ARM64):运行
ls /sys/fs/cgroup/和zgrep -i "cgroup\|namespace" /proc/config.gz 2>/dev/null || cat /boot/config-$(uname -r) | grep -i "cgroup\|namespace",确保关键选项为y或m
不复杂但容易忽略


















