tfgco/pusherPusher Docker镜像是一个专注于移动推送通知的服务端解决方案,核心功能是为iOS(通过APNs协议)和Android(通过GCM协议)设备提供快速、大规模的消息推送能力。该镜像旨在解决高并发场景下的推送效率问题,确保通知能够低延迟、高可靠地送达目标设备,适用于需要触达大量用户的各类应用场景。
通过Docker命令快速启动Pusher服务:
bashdocker run -d \ --name pusher-service \ -p 8080:8080 \ # 服务端口映射 -v /local/pusher/config:/app/config \ # 配置文件挂载(可选) -v /local/pusher/certs:/app/certs \ # 证书文件挂载(APNs需证书) pusher:latest
| 参数名 | 说明 | 示例值 |
|---|---|---|
APN_ENABLED | 是否启用APNs推送(true/false) | true |
APN_CERT_PATH | APNs证书文件路径(容器内路径) | /app/certs/apn_production.p12 |
APN_CERT_PASSWORD | APNs证书密码(如设置) | your_apn_cert_password |
GCM_ENABLED | 是否启用GCM推送(true/false) | true |
GCM_API_KEY | GCM服务API密钥 | AIzaSyDxxx... |
SERVER_PORT | 服务监听端口 | 8080 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
若需更复杂配置(如连接池大小、重试策略等),可通过挂载配置文件实现。默认配置文件路径为/app/config/pusher.yaml,挂载本地配置文件覆盖默认配置:
yaml# 示例pusher.yaml配置 apn: enabled: true cert_path: /app/certs/apn_production.p12 cert_password: your_apn_cert_password connection_pool_size: 50 # APNs连接池大小 gcm: enabled: true api_key: AIzaSyDxxx... timeout: 5s # GCM请求超时时间 server: port: 8080 worker_count: 10 # 处理推送任务的工作线程数
服务启动后,可通过HTTP接口提交推送任务(假设服务运行在本地8080端口):
bash# 发送单条APNs通知示例 curl -X POST http://localhost:8080/push/apn \ -H "Content-Type: application/json" \ -d '{ "device_token": "a1b2c3d4...", # iOS设备token "payload": { "aps": { "alert": "您有一条新消息", "sound": "default", "badge": 1 } } }' # 发送批量GCM通知示例 curl -X POST http://localhost:8080/push/gcm/batch \ -H "Content-Type: application/json" \ -d '{ "device_tokens": ["token1", "token2", "token3"], # Android设备token列表 "payload": { "notification": { "title": "系统公告", "body": "新功能已上线,立即体验!" } } }'
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务