
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像属于 balena.io 物联网(IoT)设备基础镜像系列,专为树莓派 Pi 2 平台设计,提供 Python 运行环境。该镜像针对 balena.io 平台和 balenaOS 进行了优化,可无缝集成到 balena 的设备管理和部署流程中,同时也兼容其他标准 Docker 环境。主要用途是为树莓派 Pi 2 上的 IoT 应用提供轻量、可靠的 Python 运行时和构建环境。
install_packages 包管理工具apt)的差异,简化依赖安装流程。install_packages <package-name> 即可安装指定软件包。ENTRYPOINT ["/usr/bin/entry.sh"],通过环境变量 UDEV 控制 udevd 守护进程的启动。ENV UDEV=1 时,入口脚本会启动 udevd 服务,使容器内 /dev 目录能够动态识别并创建宿主机接入的设备节点(如 USB 设备、传感器等),适用于需要直接访问硬件的 IoT 场景。balenalib/raspberry-pi2-ubuntu-python 提供以下变体,满足不同使用场景需求:
:<version> 或 :<version>-run:<version>-build-run 变体部署轻量级 Python 应用(如传感器数据采集、设备控制逻辑)。-build 变体从源码构建 Python 项目,尤其是依赖原生扩展的场景(如 NumPy、Pillow 等)。参考 balena 官方 快速入门指南 和 示例项目,可快速上手基于本镜像的 IoT 应用开发与部署。
1. 通过 Dockerfile 构建应用镜像
创建 Dockerfile 定义应用环境:
dockerfile# 使用最新版运行时变体 FROM balenalib/raspberry-pi2-ubuntu-python:latest # 设置工作目录 WORKDIR /usr/src/app # 复制依赖文件并安装 COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # 复制应用代码 COPY . . # 启动应用 CMD ["python", "./your-application.py"]
构建并运行镜像:
bash# 构建镜像 docker build -t my-python-iot-app . # 运行容器(若需设备节点支持,添加 -e UDEV=1) docker run -it --rm -e UDEV=1 --name my-app my-python-iot-app
2. 直接运行单个 Python 脚本
对于简单项目,可跳过 Dockerfile,直接挂载脚本文件运行:
bashdocker run -it --rm \ -v "$PWD":/usr/src/myapp \ # 挂载当前目录到容器内 -w /usr/src/myapp \ # 设置工作目录 -e UDEV=1 \ # 启用 udevd(如需设备访问) balenalib/raspberry-pi2-ubuntu-python:latest \ python your-script.py # 运行脚本
创建 docker-compose.yml 配置文件,适用于多服务应用:
yamlversion: '3' services: python-app: image: balenalib/raspberry-pi2-ubuntu-python:3.10.7-run volumes: - ./app:/usr/src/app # 挂载应用代码 environment: - UDEV=1 # 启用设备节点动态识别 command: python /usr/src/app/main.py
启动服务:
bashdocker-compose up -d
环境变量
UDEV:控制 udevd 守护进程启动。
udevd 不启动)。1 时:启动 udevd,容器内 /dev 目录动态生成设备节点,适用于需要访问传感器、USB 设备等场景。入口点(ENTRYPOINT)
/usr/bin/entry.sh。
udevd),之后执行用户定义的 CMD 或命令。ENTRYPOINT 指令覆盖(不建议,可能影响 udevd 等功能)。| Python 版本 | 标签 | Dockerfile 链接 |
|---|---|---|
| 3.10.7(latest) | :3.10.7、:3.10.7-run | https://github.com/balena-io-library/base-images/tree/master/balena-base-images/python/raspberry-pi2/ubuntu/ |
| 3.9.14 | :3.9.14、:3.9.14-run | 同上 |
| 3.8.14 | :3.8.14、:3.8.14-run | 同上 |
| 3.7.14 | :3.7.14、:3.7.14-run | 同上 |
如遇镜像使用问题或疑问,请通过 https://github.com/balena-io-library/base-images/issues 提交。
欢迎提交新功能、修复或更新(无论大小)。建议先通过 https://github.com/balena-io-library/base-images/issues 讨论计划,以确保与项目方向一致。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务