
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像属于balena.io IoT设备基础镜像系列,专为树莓派Zero 2W 64位平台设计,基于Ubuntu系统并集成Node.js运行环境。该镜像优化用于balena.io平台和balenaOS操作系统,同时也可在其他支持相应架构的Docker环境中使用。主要用于在树莓派Zero 2W 64位设备上开发、构建和运行Node.js IoT应用程序,提供简化的包管理和设备动态检测能力。
!balenalogo
install_packages工具脚本,抽象底层包管理器差异,自动处理包安装:
ENTRYPOINT ["/usr/bin/entry.sh"],实现设备动态管理:
ENV UDEV=1启用udev支持udevd守护进程,使容器内/dev目录能动态识别外部插入设备npm管理的项目:<version> 或 :<version>-run(默认变体):<version>-build更多变体详情请参考官方文档
创建Dockerfile
在Node.js项目中创建Dockerfile:
dockerfile# 指定基础镜像,可替换为所需Node.js版本(如18.7.0、16.17.0等) FROM balenalib/raspberrypi0-2w-64-ubuntu-node:latest # 暴露应用默认端口(根据实际需求修改) EXPOSE 8888 # 设置工作目录 WORKDIR /app # 复制项目文件 COPY package*.json ./ # 安装依赖 RUN npm install # 复制应用代码 COPY . . # 启动命令 CMD ["npm", "start"]
构建并运行镜像
console# 构建镜像 $ docker build -t my-nodejs-iot-app . # 运行容器(启用udev支持) $ docker run -it --rm --name my-running-app -e UDEV=1 -p 8888:8888 my-nodejs-iot-app
Docker Compose配置
创建docker-compose.yml:
yamlversion: "2" services: node-app: image: "balenalib/raspberrypi0-2w-64-ubuntu-node:latest" user: "node" working_dir: /home/node/app environment: - NODE_ENV=production - UDEV=1 # 启用udev设备检测 volumes: - ./:/home/node/app # 挂载本地项目目录 ports: - "8081:8081" # 映射端口 command: "npm start" # 启动命令
启动服务:
console$ docker-compose up -d
运行单个Node.js脚本
对于简单项目,可直接运行脚本:
console$ docker run -it --rm --name my-script \ -v "$PWD":/usr/src/app \ -w /usr/src/app \ -e UDEV=1 \ balenalib/raspberrypi0-2w-64-ubuntu-node:latest \ node your-script.js
UDEV:设置为1时启用udev支持,容器将启动udevd并动态检测设备-p参数映射容器端口到主机-v挂载项目目录,支持开发时代码热更新当前支持以下Node.js版本(含对应的Dockerfile):
18.7.0 (latest)16.17.014.20.012.22.12版本详情及Dockerfile源码请参考https://github.com/balena-io-library/base-images/tree/master/balena-base-images/node/raspberrypi0-2w-64/ubuntu/
镜像元数据可查看https://github.com/balena-io-library/official-images/blob/master/library/raspberrypi0-2w-64-ubuntu-node
如遇到镜像相关问题,请通过https://github.com/balena-io-library/base-images/issues%E6%8F%90%E4%BA%A4
欢迎提交新功能、修复或更新。建议先通过https://github.com/balena-io-library/base-images/issues%E8%AE%A8%E8%AE%BA%E8%AE%A1%E5%88%92%EF%BC%8C%E4%BB%A5%E7%A1%AE%E4%BF%9D%E7%AC%A6%E5%90%88%E9%A1%B9%E7%9B%AE%E6%96%B9%E5%90%91
Node.js是一个基于Chrome V8引擎的JavaScript运行时,用于构建可扩展的服务器端和网络应用。其特点包括:
!https://raw.githubusercontent.com/docker-library/docs/01c***b2fe592c1f93a13b4e289ada0e3a1/node/logo.png
更多信息请参考***
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务