【树莓派】树莓派上Docker部署实战:从零到图形化管理

张开发
2026/4/16 19:33:37 15 分钟阅读

分享文章

【树莓派】树莓派上Docker部署实战:从零到图形化管理
1. 为什么要在树莓派上使用Docker树莓派这个小巧的单板电脑凭借其低廉的价格和丰富的扩展性已经成为无数开发者和爱好者的心头好。但每次想尝试新项目时最头疼的就是环境配置——不同项目需要的软件版本可能互相冲突反复重装系统又太麻烦。这时候Docker就像个救星它能将应用程序及其依赖打包成轻量级容器实现真正的一次配置到处运行。我在实际使用中发现树莓派搭配Docker特别适合这些场景家庭服务器同时运行Nextcloud网盘、Home Assistant智能家居系统等多个服务却互不干扰开发测试快速搭建MySQL、Redis等中间件环境测试完一键清理不留痕迹学习实验安全地尝试各种Linux发行版或危险操作容器崩溃也不会影响宿主机2. 树莓派专属Docker安装指南2.1 系统准备首先确保你的树莓派运行的是Raspberry Pi OS原Raspbian的最新版本。我推荐使用64位系统以获得更好的兼容性可以通过以下命令检查uname -m如果显示aarch64就是64位系统armv7l则是32位。建议使用官方Imager工具烧录系统时直接选择Raspberry Pi OS (64-bit)。2.2 一键安装方案对于新手来说官方提供的安装脚本是最省心的选择。只需在终端执行curl -fsSL https://get.docker.com | sudo sh这个脚本会自动完成以下工作添加Docker官方GPG密钥配置正确的软件源自动识别ARM架构安装docker-ce社区版及其依赖创建docker用户组并将当前用户加入安装完成后建议立即执行以下命令避免每次都要输入sudosudo usermod -aG docker $USER newgrp docker # 立即生效2.3 手动安装详解如果你想更深入了解安装过程可以分步执行# 更新软件包索引 sudo apt update # 安装必要工具 sudo apt install -y \ ca-certificates \ curl \ gnupg \ lsb-release # 添加官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置稳定版仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin3. 加速你的Docker体验3.1 国内镜像源配置默认从Docker Hub拉取镜像速度可能很慢修改/etc/docker/daemon.json文件没有就新建{ registry-mirrors: [ https://hub-mirror.c.163.com, https://mirror.baidubce.com ] }然后重启服务使配置生效sudo systemctl restart docker3.2 实用工具推荐安装lazydocker这个超好用的终端管理工具docker run --rm -it -v \ /var/run/docker.sock:/var/run/docker.sock \ -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker \ lazyteam/lazydocker它提供了直观的界面查看容器状态、日志还能直接进入容器shell比纯命令行方便多了。4. 图形化管理神器Portainer4.1 安装与配置Portainer是Docker官方推荐的GUI管理工具安装只需两条命令docker volume create portainer_data docker run -d -p 8000:8000 -p 9443:9443 \ --name portainer \ --restartalways \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest安装完成后在浏览器访问https://树莓派IP:9443首次登录需要设置管理员密码。4.2 使用技巧在Portainer中管理容器时我总结了几点实用经验模板功能可以保存常用容器的运行参数下次一键部署堆栈部署直接粘贴docker-compose.yml内容批量创建服务容器控制台支持直接在网页端执行命令比SSH更方便特别注意生产环境一定要启用HTTPS并设置强密码否则可能被恶意攻击。5. 实战案例搭建智能家居系统5.1 部署Home Assistant用Portainer的容器页面点击添加容器填写以下参数名称homeassistant镜像homeassistant/home-assistant:stable网络模式host卷映射/home/pi/homeassistant:/config点击部署容器后访问http://树莓派IP:8123就能看到配置界面。5.2 添加MQTT服务同样方法部署eclipse-mosquitto容器名称mosquitto镜像eclipse-mosquitto端口映射1883:1883卷映射/home/pi/mosquitto:/mosquitto然后在Home Assistant配置文件中添加MQTT集成就能连接各种智能设备了。6. 常见问题排查6.1 权限问题如果遇到Got permission denied错误检查当前用户是否在docker组groups $USER如果没有执行sudo usermod -aG docker $USER后重新登录6.2 端口冲突使用sudo netstat -tulnp | grep LISTEN查看占用端口的进程修改容器映射端口或停止冲突服务。6.3 存储空间不足定期清理无用镜像和容器docker system prune -a对于SD卡容量小的树莓派建议将Docker数据目录迁移到外接硬盘停止Docker服务sudo systemctl stop docker修改配置文件/etc/docker/daemon.json添加{ data-root: /mnt/external/docker }复制原有数据sudo rsync -aqxP /var/lib/docker/ /mnt/external/docker重启服务sudo systemctl start docker

更多文章