
如果你使用 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)设备基础镜像系列,专为树莓派 Pi 2 设备设计。基于 Debian 系统和 Node.js 运行时,优化用于 balena.io 平台和 balenaOS 操作系统,同时也可在其他支持相应架构的 Docker 环境中使用。其核心目标是为树莓派 Pi 2 上的 Node.js 应用提供精简、高效的基础运行环境。
install_packages 包管理脚本udevd 守护进程实现容器内动态设备节点管理。ENV UDEV=1 环境变量。udevd 服务,使容器内 /dev 目录能动态识别并创建外部设备节点(如传感器、USB 设备等)。更多特性详情可参考 balena 基础镜像特性概述。
run 变体)。build 变体,减少手动安装构建工具的需求)。balenalib/raspberry-pi2-debian-node 提供以下变体,满足不同使用需求:
:<version> 或 :<version>-run(默认变体)balenalib/raspberry-pi2-debian-node:18.7.0 或 balenalib/raspberry-pi2-debian-node:18.7.0-run。:<version>-buildbalenalib/raspberry-pi2-debian-node:18.7.0-build。更多变体详情可参考 balena 基础镜像:运行时与构建时对比。
如需在 balena.io 平台上使用本镜像,可参考 树莓派 Pi 2 Node.js 入门指南,或查看 示例项目 获取实践参考。
1. Dockerfile 构建应用
创建 Dockerfile 定义应用环境:
dockerfile# 指定基础镜像,可替换为所需 Node.js 版本(如 16.17.0、14.20.0 等) FROM balenalib/raspberry-pi2-debian-node:latest # 暴露应用端口(替换为实际端口) EXPOSE 8888 # 复制应用代码(示例) COPY . /app WORKDIR /app # 安装依赖并启动 RUN npm install CMD ["npm", "start"]
构建并运行镜像:
console$ docker build -t my-nodejs-app . $ docker run -it --rm --name my-running-app my-nodejs-app
2. Docker Compose 部署
创建 docker-compose.yml 配置文件:
yamlversion: "2" services: node: image: "balenalib/raspberry-pi2-debian-node:latest" user: "node" # 使用 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,且定义了start脚本(参考 npm 脚本文档)。
3. 运行单文件 Node.js 脚本
无需编写 Dockerfile,直接运行本地脚本:
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 # 运行脚本
| 参数 | 说明 |
|---|---|
ENV UDEV=1 | 启用 udevd 守护进程,使容器能动态识别并创建外部设备节点(如传感器)。 |
如遇镜像相关问题或疑问,请通过 https://github.com/balena-io-library/base-images/issues 提交。
欢迎贡献新功能、修复或更新。建议先通过 https://github.com/balena-io-library/base-images/issues 讨论计划,以确保方向一致。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务