balenalib/imx8mm-var-dart-ubuntu-node此镜像属于balena.io IoT设备基础镜像系列,针对balena.io和balenaOS进行了优化,可在适当架构的任何Docker环境中使用。它基于Node.js,为IoT设备上的Node.js应用开发和运行提供了精简高效的基础环境。
!balenalogo
balenalib基础镜像的显著特性包括:
简化的包管理:提供install_packages脚本,抽象底层包管理器差异,以最小依赖安装指定包(忽略可选依赖),自动清理包管理器元数据,并在安装失败时重试。
动态设备支持:默认ENTRYPOINT为/usr/bin/entry.sh,可通过设置ENV UDEV=1启用udev支持,自动启动udevd守护进程,使容器内/dev目录能动态识别并添加外部设备节点。
更多详情,请查看特性概述。
balenalib镜像提供多种变体以适应不同使用场景:
:<version> 或 :<version>-run默认镜像,run变体为精简版本,仅包含运行时必需组件,适合部署阶段。
:<version>-build构建专用变体,包含大量源码构建工具,减少Dockerfile中手动安装依赖的需求,从而减小整体镜像体积。
了解更多变体差异
参考快速入门指南了解如何将此基础镜像与balena平台结合使用,也可查看示例项目获取实际应用案例。
Node.js是用于构建可扩展服务器端和网络应用的软件平台,使用JavaScript编写,可在Node.js运行时(支持Mac OS X、Windows、Linux)跨平台运行。其核心特性包括非阻塞I/O、异步事件驱动模型,适合开发实时应用。Node.js基于Google V8引擎,内置异步I/O库,支持HTTP和套接字通信,可直接作为Web服务器运行。
***.org/wiki/Node.js
!logo
18.7.0 (latest)、16.17.0、14.20.0、12.22.12镜像历史及详细信息可查看官方镜像清单文件。
在Node.js项目中创建Dockerfile:
dockerfile# 指定Node.js基础镜像版本 FROM balenalib/imx8mm-var-dart-ubuntu-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/imx8mm-var-dart-ubuntu-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脚本。
无需编写Dockerfile,直接运行单文件脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app balenalib/imx8mm-var-dart-ubuntu-node:latest node your-daemon-or-script.js
如遇问题,请通过GitHub issue提交。
欢迎贡献代码或改进,建议先通过GitHub issue讨论计划。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务