轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
telefonicaiot/iotagent-json
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

iotagent-json Docker 镜像下载 - 轩辕镜像

iotagent-json 镜像详细信息和使用指南

iotagent-json 镜像标签列表和版本信息

iotagent-json 镜像拉取命令和加速下载

iotagent-json 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

iotagent-json
telefonicaiot/iotagent-json
自动构建

iotagent-json 镜像详细信息

iotagent-json 镜像标签列表

iotagent-json 镜像使用说明

iotagent-json 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于JSON协议的IoT Agent,支持AMQP、HTTP、MQTT多种传输方式,作为JSON与上下文代理NGSI接口之间的桥梁,基于IoT Agent Node.js库,属于FIWARE框架的一部分。
0 次下载activetelefonicaiot镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

iotagent-json 镜像详细说明

iotagent-json 使用指南

iotagent-json 配置说明

iotagent-json 官方文档

基于JSON协议的FIWARE IoT Agent

![FIWARE IoT Agents]([] ![]([]

这是一个基于JSON协议的物联网代理(支持AMQP、HTTP和MQTT传输方式)。该IoT Agent旨在作为JSON与上下文代理的NGSI接口之间的桥梁。

它基于IoT Agent Node.js库构建。有关FIWARE IoT Agents框架的更多 general信息、架构和常见交互模型,可在该库的GitHub仓库中找到。

本项目是FIWARE的一部分。更多信息请查看FIWARE目录中IoT Agents的条目。

如何使用此镜像

IoT Agent必须实例化并连接到Orion Context Broker实例,下面提供一个示例docker-compose文件。

如果IOTA_REGISTRY_TYPE=mongodb,则还需要MongoDB数据库实例——下面的示例假设主机系统中有/data目录用于存储数据库文件,请根据自己的配置修改挂载的卷。

version: "3.1"

volumes:
    mongodb: ~

services:
    iot-agent:
        image: fiware/iotagent-json
        hostname: iot-agent
        container_name: fiware-iot-agent
        depends_on:
            - mongodb
        expose:
            - "4041"
            - "7896"
        ports:
            - "4041:4041"
            - "7896:7896"
        environment:
            - "IOTA_CB_HOST=orion"  # 上下文代理的主机名
            - "IOTA_CB_PORT=1026"   # 上下文代理监听的端口
            - "IOTA_NORTH_PORT=4041" # 用于配置IoT Agent和接收上下文代理更新的端口
            - "IOTA_REGISTRY_TYPE=mongodb" # IoT设备信息的存储类型(内存或数据库)
            - "IOTA_MONGO_HOST=mongodb" # MongoDB的主机名
            - "IOTA_MONGO_PORT=27017"  # MongoDB监听的端口
            - "IOTA_MONGO_DB=iotagent-json" # MongoDB中使用的数据库名
            - "IOTA_HTTP_PORT=7896" # IoT Agent监听HTTP设备流量的端口
            - "IOTA_PROVIDER_URL=[***]" # 注册命令时传递给上下文代理的URL

    mongodb:
        image: mongo:4.2
        hostname: mongodb
        container_name: db-mongo
        ports:
            - "27017:27017"
        command: --bind_ip_all --smallfiles
        volumes:
            - mongodb:/data

    orion:
        image: fiware/orion
        hostname: orion
        container_name: fiware-orion
        depends_on:
            - mongodb
        expose:
            - "1026"
        ports:
            - "1026:1026"
        command: -dbhost mongodb

使用环境变量配置

许多设置可以通过Docker环境变量配置。典型的IoT Agent Docker容器由如下环境变量驱动:

  • IOTA_CB_HOST - 用于更新上下文的上下文代理主机名
  • IOTA_CB_PORT - 上下文代理监听更新上下文的端口
  • IOTA_NORTH_PORT - 用于配置IoT Agent和接收上下文代理上下文更新的端口
  • IOTA_REGISTRY_TYPE - IoT设备信息存储位置(内存或数据库)
  • IOTA_MONGO_HOST - MongoDB主机名(用于存储设备和服务信息)
  • IOTA_MONGO_PORT - MongoDB监听的端口
  • IOTA_MONGO_DB - MongoDB中使用的数据库名
  • IOTA_HTTP_PORT - IoT Agent监听HTTP IoT设备流量的端口
  • IOTA_PROVIDER_URL - 注册命令时传递给上下文代理的URL,上下文代理向设备发送命令时用作转发URL

进一步信息

所有IoT Agent通用参数的完整覆盖项在IoT Agent库安装指南的配置部分中描述。

JSON IoT Agent本身的更多设置(如MQTT、AMQP和HTTP的特定配置)可在JSON IoT Agent安装指南中找到。

如何构建镜像

与此镜像关联的Dockerfile可通过多种方式构建镜像:

  • 默认情况下,Dockerfile从GitHub直接获取代码库的最新版本(build-arg为可选):
docker build -t iot-agent . --build-arg DOWNLOAD=latest
  • 可通过构建参数DOWNLOAD=stable获取最新稳定版本:
docker build -t iot-agent . --build-arg DOWNLOAD=stable
  • 还可通过构建参数DOWNLOAD=<version>下载特定版本:
docker build -t iot-agent . --build-arg DOWNLOAD=1.7.0

从自己的fork构建

要从GitHub仓库的自己的fork下载代码,需在docker build命令中添加GITHUB_ACCOUNT、GITHUB_REPOSITORY和SOURCE_BRANCH参数(默认master):

docker build -t iot-agent . \
    --build-arg GITHUB_ACCOUNT=<你的账号> \
    --build-arg GITHUB_REPOSITORY=<你的仓库> \
    --build-arg SOURCE_BRANCH=<你的分支> \
    --target=distroless|pm2|slim

从自己的源码文件构建

或者,若要直接从本地源码构建,请将现有Dockerfile复制到仓库根目录,并修改为使用以下命令复制本地源码:

COPY . /opt/iotajson/

完整说明可在Dockerfile本身中找到。

使用PM2 / Distroless

Docker镜像中的IoT Agent可通过关联的pm2镜像在pm2进程管理器中运行:

docker run --name iotagent -d fiware/iotagent-json:<tag>-pm2

也可通过关联的distroless镜像在无发行版容器中运行:

docker run --name iotagent -d fiware/iotagent-json:<tag>-distroless

Docker Secrets

作为通过环境变量传递敏感信息的替代方案,可在某些敏感环境变量后附加_FILE,使初始化脚本从容器中存在的文件加载这些变量的值。特别是,这可用于从存储在/run/secrets/<secret_name>文件中的Docker secrets加载密码。例如:

docker run --name iotagent -e IOTA_AUTH_PASSWORD_FILE=/run/secrets/password -d fiware/iotagent-json

目前,以下环境变量支持_FILE后缀:

  • IOTA_AUTH_USER
  • IOTA_AUTH_PASSWORD
  • IOTA_AUTH_CLIENT_ID
  • IOTA_AUTH_CLIENT_SECRET
  • IOTA_MONGO_USER
  • IOTA_MONGO_PASSWORD
  • IOTA_MQTT_KEY
  • IOTA_MQTT_USERNAME
  • IOTA_MQTT_PASSWORD
  • IOTA_AMQP_USERNAME
  • IOTA_AMQP_PASSWORD

最佳实践

在Docker生产部署中增加ULIMIT

Linux系统上的默认ulimit设置假设多个用户共享系统,这些设置限制每个用户使用的资源数量。默认设置对于高性能服务器通常非常低,应予以增加。在高性能场景中,我们建议对IoT Agent - JSON服务器进行以下ulimit修改:

ulimit -n 65535        # nofile: 最大打开文件描述符数(大多数系统不允许设置此值)
ulimit -c unlimited    # core: 创建的核心文件的最大大小
ulimit -l unlimited    # memlock: 可锁定到内存中的最大大小

如果仅进行轻量测试和开发,可忽略这些设置,系统仍能正常工作。

要在容器中设置ulimit,需使用以下附加--ulimit标志运行IoTAgent - JSON Docker容器:

docker run --ulimit nofile=65535:65535 --ulimit core=***:*** --ulimit memlock=***:*** \
--name iotagent -d fiware/iotagent-json

由于“unlimited”不被支持作为值,因此将core和memlock值设置为100 GB。如果系统RAM超过100 GB,应增加此值以匹配系统可用RAM。

注意:--ulimit标志仅在Docker 1.6及更高版本中可用。

此外,可能需要向Kubernetes请求更多资源(如多个核心),这可能比调度多个请求1个核心(或更少)的容器更难(Kubernetes可将这些容器调度到多个节点,而不必寻找一个有足够可用核心的节点)。

有关高性能场景中系统和Node.js配置的更多详细信息,请参阅安装指南。

设置适当的数据库索引

如果使用MongoDB作为数据持久化机制(即IOTA_REGISTRY_TYPE=mongodb),设备和服务组详细信息将从数据库检索。IoT Agent数据库的默认名称为iotagentjson。可通过创建适当的索引优化数据库访问。

例如:

docker exec  <mongodb容器名称> mongo --eval '
	conn = new Mongo();
	db = conn.getDB("iotagentjson");
	db.createCollection("devices");
	db.devices.createIndex({"_id.service": 1, "_id.id": 1, "_id.type": 1});
	db.devices.createIndex({"_id.type": 1});
	db.devices.createIndex({"_id.id": 1});
	db.createCollection("groups");
	db.groups.createIndex({"_id.resource": 1, "_id.apikey": 1, "_id.service": 1});
	db.groups.createIndex({"_id.type": 1});' > /dev/null

可使用IOTA_MONGO_DB环境变量更改数据库名称。如果使用其他数据库,请修改上述conn.getDB()语句。

查看更多 iotagent-json 相关镜像 →
fiware/iotagent-json logo
fiware/iotagent-json
by fiware
基于JSON协议的IoT代理,支持MQTT、HTTP等多种传输方式,作为JSON与上下文代理的NGSI接口之间的桥梁。
2100K+ pulls
上次更新:18 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.