balenalib/bananapi-m1-plus-debian-python本镜像属于balena.io IoT设备基础镜像系列,专为IoT设备优化设计。其主要适用于balena.io平台和balenaOS环境,但也可在任何支持相应架构的Docker环境中使用。作为Python基础镜像,它为在嵌入式IoT设备上开发和部署Python应用提供了精简且高效的运行环境。
!balenalogo
balenalib基础镜像具有以下显著特性:
便捷的包安装工具:提供install_packages脚本,抽象底层包管理器细节,实现以下功能:
动态设备支持:默认ENTRYPOINT为ENTRYPOINT ["/usr/bin/entry.sh"],通过以下机制支持动态插入设备:
UDEV环境变量是否设置为true(通过ENV UDEV=1配置)UDEV=true,则启动udevd守护进程,使容器内/dev目录中出现相关设备节点更多特性详情请参考官方文档中的特性概述。
install_packages脚本简化了跨平台包安装流程,自动处理不同Linux发行版的包管理器差异,确保在嵌入式环境中高效安装依赖。
通过默认entry.sh入口脚本,容器可动态识别并挂载外部设备。设置ENV UDEV=1后,udevd守护进程将启动,使USB设备、传感器等外部硬件在容器内可被识别和访问。
balenalib镜像提供多种变体,适用于不同场景:
:<version> 或 :<version>-run默认镜像变体,设计为精简的运行时环境,仅包含应用运行所需的核心组件,体积小巧,适合部署阶段使用。
:<version>-build构建阶段专用变体,包含大量源码构建工具(如编译器、Make等),减少手动安装构建依赖的需求,有助于减小整体镜像体积。
以下Python版本已通过验证并提供支持:
3.10.4 (latest)3.9.123.8.133.7.133.6.15查看Dockerfile源码
关于镜像的更多信息和历史版本,可参考balena-io-library/official-images仓库中的bananapi-m1-plus-debian-python清单文件。
在Python项目根目录创建Dockerfile:
dockerfileFROM balenalib/bananapi-m1-plus-debian-python:latest WORKDIR /usr/src/app # 安装依赖 COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # 复制应用代码 COPY . . # 运行应用 CMD [ "python", "./your-daemon-or-script.py" ]
构建并运行镜像:
console$ docker build -t my-python-app . $ docker run -it --rm --name my-running-app my-python-app
对于简单的单文件项目,可直接使用镜像运行脚本,无需编写Dockerfile:
console$ docker run -it --rm --name my-running-script \ -v "$PWD":/usr/src/myapp \ -w /usr/src/myapp \ balenalib/bananapi-m1-plus-debian-python:latest \ python your-daemon-or-script.py
若需访问容器内的外部设备(如USB传感器),需设置UDEV环境变量:
dockerfileFROM balenalib/bananapi-m1-plus-debian-python:latest ENV UDEV=1 # 启用udevd守护进程 # 后续配置...
Python是一种解释型、交互式、面向对象的开源编程语言。它包含模块、异常处理、动态类型、高级动态数据类型和类等特性。Python以强大的功能和清晰的语法著称,可与众多系统调用、库及窗口系统交互,并支持C/C++扩展。Python具有良好的可移植性,可运行于多种Unix变体、Mac和Windows 2000及更高版本系统。
***.org/wiki/Python_(programming_language)
!Python logo
参考快速入门指南了解如何将本基础镜像与balena平台结合使用,也可查看示例项目获取实际应用案例。
如遇镜像相关问题或疑问,请通过GitHub Issue与我们联系。
欢迎贡献新功能、错误修复或更新(无论大小)。我们鼓励在开始编码前,通过GitHub Issue讨论您的计划,以便其他贡献者提供指导和反馈。
镜像详细文档存储在基础镜像文档中,包含所有balena基础镜像(如node、go等专用镜像)的完整说明。有关balenalib基础镜像新特性的更多信息,可参考博客文章。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务