本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Eclipse Hono是一个开源IoT设备连接平台,提供统一的服务接口,用于将IoT设备连接到云端或本地后端系统。本镜像为Eclipse Hono的HTTP协议适配器组件,主要功能是允许IoT设备通过HTTP协议向Hono后端上传遥测数据和事件数据,实现设备与后端系统的双向通信。
从Docker镜像仓库拉取最新版本镜像:
docker pull eclipse/hono-http-adapter:latest
通过以下命令启动HTTP适配器容器,需根据实际环境配置环境变量:
docker run -d \ --name hono-http-adapter \ -p 8080:8080 \ # HTTP端口映射(默认8080) -e HONO_AMQP_HOST=hono-amqp-adapter \ # Hono AMQP适配器主机名/IP -e HONO_AMQP_PORT=5672 \ # Hono AMQP适配器端口 -e HONO_AUTH_HOST=hono-auth \ # Hono认证服务主机名/IP -e HONO_AUTH_PORT=5671 \ # Hono认证服务端口 -e HTTP_ADAPTER_PORT=8080 \ # HTTP适配器监听端口 eclipse/hono-http-adapter:latest
HTTP适配器通过环境变量配置与后端服务的连接及自身运行参数,常用配置如下表:
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
HONO_AMQP_HOST | Hono AMQP适配器服务主机名/IP | localhost | hono-amqp-adapter |
HONO_AMQP_PORT | Hono AMQP适配器服务端口 | 5672 | 5672 |
HONO_AUTH_HOST | Hono认证服务(Ditto或Keycloak)主机 | localhost | hono-auth-service |
HONO_AUTH_PORT | Hono认证服务端口 | 5671 | 5671 |
HTTP_ADAPTER_PORT | HTTP适配器监听端口 | 8080 | 8080 |
HONO_TENANT_ID | 默认租户ID(设备未指定时使用) | 无 | my-tenant |
TLS_ENABLED | 是否启用HTTPS(true/false) | false | true |
TLS_KEY_STORE_PATH | TLS密钥库路径(启用HTTPS时必填) | 无 | /etc/hono/tls/keystore.p12 |
TLS_KEY_STORE_PASSWORD | TLS密钥库密码(启用HTTPS时必填) | 无 | changeit |
以下为与Hono核心服务(AMQP适配器、认证服务)协同部署的docker-compose.yml示例:
version: '3.8' services: hono-http-adapter: image: eclipse/hono-http-adapter:latest ports: - "8080:8080" environment: - HONO_AMQP_HOST=hono-amqp-adapter - HONO_AMQP_PORT=5672 - HONO_AUTH_HOST=hono-auth - HONO_AUTH_PORT=5671 - HTTP_ADAPTER_PORT=8080 - HONO_TENANT_ID=default-tenant depends_on: - hono-amqp-adapter - hono-auth hono-amqp-adapter: image: eclipse/hono-amqp-adapter:latest # AMQP适配器配置(省略,参考其官方文档) hono-auth: image: eclipse/hono-auth:latest # 认证服务配置(省略,参考其官方文档)
设备通过HTTP POST请求向适配器发送数据,需在请求头中指定租户、设备标识及认证信息。
请求URL:http://<adapter-ip>:<port>/telemetry
请求头:
Host: 适配器主机Content-Type: application/json(或其他数据格式)Authorization: Basic <base64(tenant:device@password)>(Basic认证)示例(curl命令):
# 设备认证信息:租户=my-tenant,设备ID=device-001,密码=secret # Basic认证字符串:echo -n "my-tenant:device-001@secret" | base64 → bXktdGVuYW50OmRldmljZS0wMDFAc2VjcmV0 curl -X POST [***] \ -H "Content-Type: application/json" \ -H "Authorization: Basic bXktdGVuYW50OmRldmljZS0wMDFAc2VjcmV0" \ -d '{"temperature": 23.5, "humidity": 60}'
请求URL:http://<adapter-ip>:<port>/events
请求头:与遥测数据上传相同
请求体:事件数据(如设备状态变更信息)
示例(curl命令):
curl -X POST [***] \ -H "Content-Type: application/json" \ -H "Authorization: Basic bXktdGVuYW50OmRldmljZS0wMDFAc2VjcmV0" \ -d '{"event": "door_opened", "timestamp": "2024-05-20T10:30:00Z"}'
HTTP_ADAPTER_PORT(默认8080),需通过-p参数映射至其他端口(如-p 8081:8080)。TLS_ENABLED=true及相关密钥库参数。HTTP_ADAPTER_PORT端口开放;验证容器启动日志(docker logs <container-id>)是否有端口绑定错误。HONO_AMQP_HOST和HONO_AMQP_PORT配置正确;检查Hono AMQP适配器是否正常运行。Authorization头中的租户、设备ID及密码是否正确。免费版仅支持 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