Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker FIWARE-TTN物联网-代理_Docker_Docker Compose - Fatal编程技术网

Docker FIWARE-TTN物联网-代理

Docker FIWARE-TTN物联网-代理,docker,docker-compose,Docker,Docker Compose,我正试图让猎户座经纪人和IoTA LoRa合作。不幸的是,我在尝试将设备添加到代理时收到错误消息 我使用以下方法使用Things网络: 有人让它运行吗?我总是会出错: 无法读取未定义的属性“findOne” 有什么解决办法吗 不幸的是,IoTA的重启不起作用 这是我的Docker撰写文件: version: "3.1 services: mongodb: image: mongo:latest hostname: mongo-db container_name: db

我正试图让猎户座经纪人和IoTA LoRa合作。不幸的是,我在尝试将设备添加到代理时收到错误消息

我使用以下方法使用Things网络:

有人让它运行吗?我总是会出错: 无法读取未定义的属性“findOne”

有什么解决办法吗

不幸的是,IoTA的重启不起作用

这是我的Docker撰写文件:

version: "3.1
services:

mongodb:
    image: mongo:latest
    hostname: mongo-db
    container_name: db-mongo
    ports:
        - "27017:27017"
    volumes:
        - /mnt/docker/mongodb:/data

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

iot-agent:
    image: ioeari/iotagent-lora
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
        - mongodb
    expose:
        - "4041"
    ports:
        - "4041:4041"
    environment:
        - "IOTA_CB_HOST=orion"
        - "IOTA_CB_PORT=1026"
        - "IOTA_NORTH_PORT=4041"
        - "IOTA_REGISTRY_TYPE=mongodb"
        - "IOTA_MONGO_HOST=mongo-db"
        - "IOTA_MONGO_PORT=27017"
        - "IOTA_MONGO_DB=iotagent-lorawan"
        - "IOTA_PROVIDER_URL=http://iot-agent:4041"
不幸的是,这对我不起作用。以下是我发布的Docker撰写文件:

version: "3.1
services:

mongodb:
    image: mongo:latest
    hostname: mongo-db
    container_name: db-mongo
    ports:
        - "27017:27017"
    volumes:
        - /mnt/docker/mongodb:/data

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

iot-agent:
    image: ioeari/iotagent-lora
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
        - mongodb
    expose:
        - "4041"
    ports:
        - "4041:4041"
    environment:
        - "IOTA_CB_HOST=orion"
        - "IOTA_CB_PORT=1026"
        - "IOTA_NORTH_PORT=4041"
        - "IOTA_REGISTRY_TYPE=mongodb"
        - "IOTA_MONGO_HOST=mongo-db"
        - "IOTA_MONGO_PORT=27017"
        - "IOTA_MONGO_DB=iotagent-lorawan"
        - "IOTA_PROVIDER_URL=http://iot-agent:4041"
我尝试添加一个设备,就像上面链接中FIWARE HowTo中描述的那样

IoTA总体上正在运行。电话:很好用。但使用它的操作设备总是失败

下面是完整的错误消息:

HTTP/1.1500内部服务器错误 X-Powered-By:Express 软件相关器:c430da57-9b39-4ef1-a7e7-f27f2e6b2113 内容类型:application/json;字符集=utf-8 内容长度:76 ETag:W/“4c-Mk5iR3/t76SWs53TC2DG+2Oquj0” 日期:2019年9月17日星期二08:14:03 GMT 连接:关闭


{“name”:“TypeError”,“message”:“无法读取未定义的属性'findOne'”}

由于IoT代理和MongoDB之间的同步问题,FIWARE环境设置中通常出现错误
无法读取未定义的属性'findOne'


在我们的例子中,我们也多次遇到这个问题,我们的想法是先启动MongoDB,然后启动IoT代理,如果MongoDB重新启动,有时我们必须在MongoDB之后重新启动IoT代理。

错误消息表明Mongo DB存在问题,但我认为这可能与Docker相关,特别是图像版本控制问题

mongodb:
    image: mongo:latest

orion:
    image: fiware/orion

iot-agent:
    image: ioeari/iotagent-lora
在每种情况下,您都显式或隐式地使用最新的Docker图像,例如,在mongo db的情况下,这是当前的mongo:4.2.0,可能是昨天发生的其他事情,可能是自上次更新LoRaWAN IoT代理以来发生了重大变化

最好修复为使用在以下情况下使用的公共生成集:

  • fiware/orion:2.2.0
  • mongo:3.6
  • fiware/IoWan:1.2.3
再次尝试查看Mongo DB是否表现得更好

注意:ioeari/iotagent lora上似乎缺少版本标签
,但最新版本对应于
bff2c15d
,该版本发布于
1.2.1
,尚未在FIWARE帐户中复制。可以肯定的是,最好从资源中构建自己的资源

第二点-您的
“IOTA\u MONGO\u HOST=MONGO db”
和Orion连接命令
命令:-dbhost mongodb
不匹配请尝试以下操作:

version: "3.1"

services:
    iot-agent:
        image: fiware/iotagent-lorawan:1.2.2
        hostname: iot-agent
        container_name: fiware-iot-agent
        depends_on:
            - mongo-db
        expose:
            - "4041"
        ports:
            - "4041:4041"
        environment:
            - "IOTA_CB_HOST=orion"
            - "IOTA_CB_PORT=1026"
            - "IOTA_NORTH_PORT=4041"
            - "IOTA_REGISTRY_TYPE=mongodb"
            - "IOTA_MONGO_HOST=mongo-db"
            - "IOTA_MONGO_PORT=27017"
            - "IOTA_MONGO_DB=iotagent-lorawan"
            - "IOTA_PROVIDER_URL=http://iot-agent:4041"
            - IOTA_LOG_LEVEL=DEBUG # The log level of the IoT Agent

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

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

volumes:
    mongo-db: ~

一个或多个mongo db连接失败,这将导致mongoose有空指针。

不幸的是,这种方法在我的情况下不起作用:-(1.2.1错误缺少清单:对于fiware/IoAgent-lorawan的iot代理清单:1.2.1未找到:清单未知:清单未知错误:fiware/IoAgent-lorawan的清单:1.2.1未找到:清单未知:清单未知:目前清单未知
fiware/IoAgent-lorawan:1.2.0
。我将调查
1.2.1
buil。)d、 版本
1.2.1
1.2.2
1.2.3
现已提供。