本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本Docker镜像是一个轻量级工具,专为电表数据处理设计,可将电表采集的能源数据(如用电量、电压、电流、功率等)转换为标准化XML格式并导出。镜像基于精简基础镜像构建,资源占用低,部署便捷,适用于能源监控系统、能源管理平台及数据分析系统的数据集成环节,帮助实现电表数据与上层系统的无缝对接。
energy_consumption、voltage)与XML元素/属性的映射关系。docker run -d \ --name energy-meter-xml-exporter \ --restart unless-stopped \ -v /path/to/host/config:/app/config \ # 挂载配置文件目录(含映射规则和电表列表) -v /path/to/host/exports:/app/exports \ # 挂载XML导出文件目录(宿主机路径) -e EXPORT_INTERVAL=300 \ # 导出间隔(秒),默认300(5分钟) -e LOG_LEVEL=info \ # 日志级别:debug/info/warn/error,默认info -e DATA_INPUT_TYPE=file \ # 数据输入类型:file(本地文件)/mqtt(MQTT订阅),默认file energy-meter-xml-exporter:latest
创建docker-compose.yml文件:
version: '3.8' services: xml-exporter: image: energy-meter-xml-exporter:latest container_name: energy-meter-xml-exporter volumes: - ./config:/app/config # 宿主机配置目录(存放映射规则和电表列表) - ./exports:/app/exports # 宿主机导出目录(存放生成的XML文件) environment: - EXPORT_INTERVAL=300 # 导出间隔(秒) - LOG_LEVEL=info - DATA_INPUT_TYPE=mqtt # 示例:使用MQTT订阅电表数据 - MQTT_BROKER=mqtt://192.168.1.100:1883 # MQTT broker地址(当DATA_INPUT_TYPE=mqtt时必填) - MQTT_TOPIC=energy/meters/# # MQTT订阅主题(当DATA_INPUT_TYPE=mqtt时必填) restart: unless-stopped
启动容器:docker-compose up -d
| 参数名 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
EXPORT_INTERVAL | 定时导出间隔(单位:秒) | 正整数(如60、300) | 300 |
LOG_LEVEL | 日志输出级别 | debug/info/warn/error | info |
DATA_INPUT_TYPE | 电表数据输入类型 | file(本地文件)/mqtt(MQTT) | file |
OUTPUT_DIR | 容器内XML文件导出目录(需通过volume挂载到宿主机) | 绝对路径 | /app/exports |
CONFIG_DIR | 容器内配置文件目录(需通过volume挂载到宿主机) | 绝对路径 | /app/config |
MQTT_BROKER | MQTT broker地址(仅DATA_INPUT_TYPE=mqtt时生效) | MQTT URL(如mqtt://host:port) | - |
MQTT_TOPIC | MQTT订阅主题(仅DATA_INPUT_TYPE=mqtt时生效) | 字符串(支持通配符#) | - |
容器依赖CONFIG_DIR目录下的以下配置文件(需用户提前创建):
meters.yml)定义需处理的电表设备信息,示例:
meters: - id: "meter_001" # 电表唯一标识(需与输入数据中的电表ID对应) name: "Factory_Main_Meter" # 电表名称(将作为XML中的`<meter_name>`元素) type: "three_phase" # 电表类型(自定义,用于XML分类) mapping_config: "mapping_meter001.xml" # 该电表的数据映射规则文件(位于CONFIG_DIR下) - id: "meter_002" name: "Workshop_A_Meter" type: "single_phase" mapping_config: "mapping_meter002.xml" # 不同电表可使用不同映射规则
mapping_meter001.xml)定义电表数据字段与XML元素的映射关系,示例:
<mapping> <!-- XML根元素配置 --> <root_element name="EnergyData" namespace="[***]"> <attribute name="timestamp" value="${system.timestamp}" /> <!-- 系统时间,内置变量 --> <attribute name="meter_id" value="${meter.id}" /> <!-- 引用meters.yml中的电表ID --> </root_element> <!-- 数据字段映射:将输入数据中的字段映射到XML子元素 --> <fields> <field input="energy_consumption" output_element="TotalEnergy"> <!-- 用电量 --> <attribute name="unit" value="kWh" /> <!-- 元素属性 --> <format type="number" precision="2" /> <!-- 格式化:保留2位小数 --> </field> <field input="voltage" output_element="Voltage"> <!-- 电压 --> <attribute name="unit" value="V" /> </field> <field input="current" output_element="Current"> <!-- 电流 --> <attribute name="unit" value="A" /> </field> </fields> </mapping>
${system.timestamp}:内置变量,自动填充当前导出时间(格式:ISO 8601,如2024-05-20T10:30:00Z)。${meter.id}:引用meters.yml中电表的id字段。input:电表输入数据中的字段名(如JSON输入中的energy_consumption字段)。output_element:生成的XML子元素名称。导出的XML文件(如energy_data_meter_001_202405201030.xml)内容示例:
<EnergyData xmlns="[***]" timestamp="2024-05-20T10:30:00Z" meter_id="meter_001"> <TotalEnergy unit="kWh">1250.68</TotalEnergy> <Voltage unit="V">220.5</Voltage> <Current unit="A">15.2</Current> </EnergyData>
chmod 777 /path/to/dir临时测试,生产环境建议通过UID/GID映射限制权限)。energy_data_${meter.id}_${timestamp}.xml(timestamp为导出时间,格式:YYYYMMDDHHMM)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429