balenalib/orange-pi-one-ubuntu-node该镜像属于balena.io IoT设备基础镜像系列,专为orange-pi-one架构优化,基于Ubuntu系统并包含Node.js环境。镜像针对balena.io和balenaOS进行了优化,但也可在其他支持相应架构的Docker环境中使用。适用于开发运行在IoT设备上的Node.js应用,提供简化的包管理和设备动态管理能力。
/usr/bin/entry.shUDEV=1,可启动udevd守护进程,使容器内/dev目录动态显示外部插入的设备节点更多特性详情可参考balena基础镜像特性概述。
balenalib/orange-pi-one-ubuntu-node提供多种变体,满足不同使用场景:
:<version> 或 :<version>-run:<version>-build详细说明见运行时与构建时变体区别。
参考快速入门指南开始使用该基础镜像,也可查看示例项目了解实际应用场景。
Node.js是一个用于可扩展服务器端和网络应用的软件平台。Node.js应用使用JavaScript编写,可在Mac OS X、Windows和Linux的Node.js运行时中无需修改直接运行。
Node.js应用设计旨在最大化吞吐量和效率,采用非阻塞I/O和异步事件模型。虽然Node.js应用单线程运行,但会为文件和网络事件使用多线程。由于其异步特性,Node.js常用于实时应用开发。
Node.js内部使用Google V8 JavaScript引擎执行代码,大部分基础模块使用JavaScript编写。Node.js包含内置的异步I/O库,支持文件、套接字和HTTP通信。HTTP和套接字支持使Node.js无需Apache等额外软件即可作为Web服务器运行。
!Node.js logo
18.7.0 (latest)、16.17.0、14.20.0、12.22.12更多镜像信息和历史版本,可查看manifest文件 (orange-pi-one-ubuntu-node)(位于balena-io-library/official-images GitHub仓库)。
在Node.js项目中创建Dockerfile:
dockerfile# 指定所需版本的Node.js基础镜像 FROM balenalib/orange-pi-one-ubuntu-node:latest # 暴露应用默认端口(根据实际应用修改) EXPOSE 8888
构建并运行Docker镜像:
console$ docker build -t my-nodejs-app . $ docker run -it --rm --name my-running-app my-nodejs-app
创建docker-compose.yml:
yamlversion: "2" services: node: image: "balenalib/orange-pi-one-ubuntu-node:latest" user: "node" working_dir: /home/node/app environment: - NODE_ENV=production volumes: - ./:/home/node/app expose: - "8081" command: "npm start"
通过Docker Compose运行:
console$ docker-compose up -d
上述Docker Compose示例会将当前目录(含node_modules)挂载到容器中,假设应用的
package.json定义了start脚本。
对于简单单文件项目,可直接运行脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app balenalib/orange-pi-one-ubuntu-node:latest node your-daemon-or-script.js
如遇镜像相关问题或疑问,请通过GitHub Issue联系我们。
欢迎贡献新功能、修复或更新(无论大小),我们会尽快处理Pull Request。代码贡献前,建议通过GitHub Issue讨论计划,以便获得方向指导和设计反馈。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务