该镜像属于balena.io物联网设备基础镜像系列,专为balena.io平台和balenaOS优化,同时兼容其他支持相应架构的Docker环境。基于Debian系统,集成Node.js运行时,适用于构建和部署物联网场景下的Node.js应用,提供精简高效的运行环境和便捷的开发工具链。
智能包管理工具:内置install_packages脚本,抽象底层包管理器差异,安装软件包时自动最小化依赖(忽略可选依赖),清理包管理器元数据,并在安装失败时自动重试,简化依赖管理流程。
设备动态识别支持:默认ENTRYPOINT为/usr/bin/entry.sh,通过设置环境变量UDEV=1(添加ENV UDEV=1)可启动udevd守护进程,使动态插入的设备节点在容器/dev目录下自动可见,增强硬件交互能力。
更多特性详情请参见官方特性概述。
balenalib镜像提供多种变体以满足不同场景需求:
:<version> 或 :<version>-run(默认变体)精简的运行时镜像,仅包含应用运行必需的核心组件,体积小巧,适合生产环境部署。
:<version>-build构建专用镜像,集成源代码构建所需的全套工具链,减少Dockerfile中手动安装依赖的需求,从而优化整体镜像大小。
了解更多变体差异请参见运行时与构建时变体说明。
Node.js是用于构建可扩展服务器端和网络应用的JavaScript运行时平台,基于Google V8引擎,采用非阻塞I/O和异步事件驱动模型,能高效处理并发请求。其单线程运行模式配合多线程底层I/O处理,特别适合开发实时通信、数据流式处理等高性能应用。Node.js内置完善的网络通信库,可直接作为Web服务器运行,无需额外中间件。
参考:Node.js ***
https://github.com/balena-io-library/base-images/tree/master/balena-base-images/node/aarch64/debian/
镜像历史及详细信息可查看https://github.com/balena-io-library/official-images/blob/master/library/aarch64-debian-node%E3%80%82
在Node.js项目中创建Dockerfile:
dockerfile# 指定基础镜像版本 FROM balenalib/aarch64-debian-node:latest # 暴露应用端口 EXPOSE 8888
构建并运行镜像:
console$ docker build -t my-nodejs-app . $ docker run -it --rm --name my-running-app my-nodejs-app
创建docker-compose.yml:
ymlversion: "2" services: node: image: "balenalib/aarch64-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
注:该配置会将当前目录(含node_modules)挂载至容器,需确保项目根目录存在
package.json并定义start脚本。
对于简单项目,可直接运行Node.js脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app balenalib/aarch64-debian-node:latest node your-script.js
如遇镜像相关问题或疑问,请通过https://github.com/balena-io-library/base-images/issues%E6%8F%90%E4%BA%A4%E3%80%82
欢迎提交新功能、修复或更新(无论大小)。建议重大变更前先通过https://github.com/balena-io-library/base-images/issues%E8%AE%A8%E8%AE%BA%E6%96%B9%E6%A1%88%EF%BC%8C%E4%BB%A5%E6%8F%90%E9%AB%98%E5%8D%8F%E4%BD%9C%E6%95%88%E7%8E%87%E3%80%82

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务