
fixl/firebase-emulator-suite
bashmake build
bashdocker inspect --format='{{ range $k, $v := .Config.Labels }}{{ printf "%s=%s\n" $k $v}}{{ end }}' fixl/firebase-emulator-suite:latest
bashdocker run --rm -it --net host -e FIRESTORE='true' -e FIRESTORE_RULES_FILE=/src/firestore.rules -v $(pwd)/src -w /src fixl/firebase-emulator-suite
可通过指定环境变量启用服务:
| 名称 | 描述 | 默认值 |
|---|---|---|
FIREBASE_PROJECT_ID | 用于此模拟器的项目ID | local |
FIREBASE_TOKEN | 用于firebase命令的令牌 | 不适用 |
UI_PORT | UI暴露的端口 | 4000 |
HOSTING | 若设为true,则在端口5000启用托管模拟器 | 不适用 |
HOSTING_PORT | 在指定端口启用托管模拟器 | 若HOSTING=true则为5000 |
FUNCTIONS | 若设为true,则在端口5001启用函数模拟器 | 不适用 |
FUNCTIONS_PORT | 在指定端口启用函数模拟器 | 若FUNCTIONS=true则为5001 |
FIRESTORE | 若设为true,则在端口8081启用Firestore模拟器 | 不适用 |
FIRESTORE_PORT | 在指定端口启用Firestore模拟器 | 若FIRESTORE=true则为8081 |
FIRESTORE_RULES_FILE | 指定要使用的Firestore规则文件 | 不适用 |
FIRESTORE_WEBSOCKET_PORT | 指定UI中请求选项卡工作所需的WebSocket端口 | 不适用(随机开放端口) |
PUBSUB | 若设为true,则在端口8085启用Pub/Sub模拟器 | 不适用 |
PUBSUB_PORT | 在指定端口启用Pub/Sub模拟器 | 若PUBSUB=true则为8085 |
DATABASE | 若设为true,则在端口9000启用数据库模拟器 | 不适用 |
DATABASE_PORT | 在指定端口启用数据库模拟器 | 若DATABASE=true则为9000 |
DATABASE_RULES_FILE | 指定要使用的数据库规则文件 | 不适用 |
AUTH | 若设为true,则在端口9099启用身份验证模拟器 | 不适用 |
AUTH_PORT | 在指定端口启用身份验证模拟器 | 若AUTH=true则为9099 |
STORAGE | 若设为true,则在端口9199启用存储模拟器 | 不适用 |
STORAGE_PORT | 在指定端口启用存储模拟器 | 若STORAGE=true则为9199 |
要为模拟器容器添加健康检查,可在docker-compose.yml中添加如下配置:
yamlhealthcheck: test: /usr/bin/wget -qO- http://localhost:4000 timeout: 30s interval: 3s retries: 20
若在非标准端口运行UI,则需相应修改端口。


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