
alexskrilla/node本镜像基于官方Node.js 20.1版本构建,预集成Firebase CLI工具与pnpm包管理器,旨在为Firebase应用开发提供一站式运行环境。通过整合Node.js运行时、Firebase部署工具及高效包管理能力,简化开发至部署的全流程,适合个人开发者及团队在本地开发、CI/CD流水线或容器化部署场景中使用。
bashdocker pull [镜像仓库地址]/node-20.1-firebase-pnpm:latest
启动容器并进入交互式终端,用于手动执行命令:
bashdocker run -it --rm \ -v $(pwd):/app \ # 挂载本地项目目录至容器内/app -w /app \ # 设置工作目录为/app [镜像仓库地址]/node-20.1-firebase-pnpm:latest \ /bin/bash
直接执行Firebase CLI命令(如部署Hosting):
bashdocker run --rm \ -v $(pwd):/app \ -w /app \ -e FIREBASE_TOKEN="your-firebase-token" \ # 非交互式认证(可选) [镜像仓库地址]/node-20.1-firebase-pnpm:latest \ firebase deploy --only hosting
使用pnpm安装依赖或运行脚本:
bash# 安装项目依赖 docker run --rm \ -v $(pwd):/app \ -w /app \ [镜像仓库地址]/node-20.1-firebase-pnpm:latest \ pnpm install # 运行项目构建脚本 docker run --rm \ -v $(pwd):/app \ -w /app \ [镜像仓库地址]/node-20.1-firebase-pnpm:latest \ pnpm run build
| 环境变量 | 说明 | 示例值 |
|---|---|---|
FIREBASE_TOKEN | Firebase CLI非交互式认证令牌 | 1//0g...(通过firebase login:ci获取) |
NODE_ENV | Node.js运行环境 | development/production |
PNPM_HOME | pnpm全局包安装路径(默认/root/.pnpm-global) | /app/.pnpm |
如需保存Firebase配置或pnpm缓存,可挂载对应目录:
bashdocker run -it --rm \ -v $(pwd):/app \ -v firebase-config:/root/.firebase \ # 持久化Firebase配置 -v pnpm-store:/root/.pnpm-store \ # 持久化pnpm缓存 [镜像仓库地址]/node-20.1-firebase-pnpm:latest \ /bin/bash
创建docker-compose.yml简化本地开发流程:
yamlversion: '3' services: firebase-dev: image: [镜像仓库地址]/node-20.1-firebase-pnpm:latest volumes: - ./:/app - firebase-config:/root/.firebase - pnpm-store:/root/.pnpm-store working_dir: /app environment: - NODE_ENV=development # 如需非交互式部署,添加FIREBASE_TOKEN # - FIREBASE_TOKEN=your-token-here tty: true # 保持终端连接 volumes: firebase-config: pnpm-store:
启动服务:
bashdocker-compose up -d docker-compose exec firebase-dev /bin/bash # 进入容器终端
在.github/workflows/deploy.yml中使用镜像执行自动化部署:
yamlname: Deploy to Firebase on: push: branches: [ main ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run with firebase-pnpm image uses: docker://[镜像仓库地址]/node-20.1-firebase-pnpm:latest with: args: | pnpm install && \ pnpm run build && \ firebase deploy --only hosting --token ${{ secrets.FIREBASE_TOKEN }} env: FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务