balenalib/raspberry-pi2-node该镜像属于balena.io IoT设备基础镜像系列,专为物联网设备设计。它针对balena.io平台和balenaOS进行了优化,同时也可在任何运行于适当架构的Docker环境中使用。
!balenalogo
balenalib基础镜像具有以下显著特性:
便捷的包安装脚本:提供install_packages工具脚本,抽象底层包管理器细节,可安装指定包(忽略可选依赖以减少依赖数量),清理包管理器元数据,并在安装失败时重试。
动态设备支持:默认ENTRYPOINT为ENTRYPOINT ["/usr/bin/entry.sh"],通过设置ENV UDEV=1可启用udev支持,自动启动udevd守护进程,使容器/dev目录中动态显示插入的设备节点。
更多详情,请查看特性概述文档。
balenalib镜像提供多种版本,满足不同使用场景需求:
:<version> 或 :<version>-run默认镜像,run变体为精简版,仅包含运行时必需组件,体积小巧。
:<version>-build构建专用变体,包含从源代码构建所需的多种工具,减少手动安装依赖的需求,从而减小整体镜像体积。
参考入门指南可快速了解如何将此镜像与balena平台配合使用,同时提供示例项目展示实际应用场景。
Node.js是用于构建可扩展服务器端和网络应用的软件平台,采用JavaScript编写,可在Node.js运行时(支持Mac OS X、Windows和Linux)直接运行。其核心特点包括:
***.org/wiki/Node.js
!logo
18.7.0 (latest)、16.17.0、14.20.0、12.22.12
镜像详情及历史版本信息可查看官方清单文件。
在Node.js项目中创建Dockerfile:
dockerfile# 指定Node基础镜像版本 FROM balenalib/raspberry-pi2-debian-node:latest # 暴露应用默认端口(根据实际情况修改) EXPOSE 8888
构建并运行镜像:
console$ docker build -t my-nodejs-app . $ docker run -it --rm --name my-running-app my-nodejs-app
yamlversion: "2" services: node: image: "balenalib/raspberry-pi2-debian-node:latest" user: "node" working_dir: /home/node/app environment: - NODE_ENV=production volumes: - ./:/home/node/app # 挂载当前目录到容器 expose: - "8081" # 暴露端口 command: "npm start" # 启动命令
启动服务:
console$ docker-compose up -d
注:该配置假设项目包含
package.json文件并定义了npm start启动脚本。
对于单文件项目,可直接运行脚本:
console$ docker run -it --rm --name my-running-script \ -v "$PWD":/usr/src/app \ -w /usr/src/app \ balenalib/raspberry-pi2-debian-node:latest \ node your-daemon-or-script.js
如有问题或建议,请通过GitHub Issue提交。
欢迎贡献新功能、修复或更新。建议先通过GitHub Issue讨论计划,确保贡献方向一致。
完整文档请参考基础镜像文档,更多新特性说明见博客文章。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务