开发者中心 开发者中心
  • 简体中文
  • English
视频教程
敢为云网站
  • 6.0版本
  • 6.1 版本
视频教程
敢为云网站
  • 平台概述
  • 平台功能
  • 平台安装
    • 依赖环境
    • 安装部署
      • 敢为云部署
      • 软件包部署
        • Windows安装
        • Linux安装
        • 容器部署
          • 平台镜像打包
      • 新手安装
      • 服务器配置参考
      • 服务器注册码获取指南
      • 附录
    • 3D可视化客户端安装
    • Desktop客户端安装
    • 常见问题
  • 开发者指南
  • 项目实战
  • 附录

容器部署

# 容器部署

容器部署需要安装docker容器,在可以连接互联网的情况下,可以在线安装Docker《Linux下Docker安装部署》 (opens new window),当遇到内网服务器没有办法进行在线安装时可以参考附录-Docker容器的离线安装

# 平台镜像打包

docker容器安装完成后进行平台镜像打包。

注:该教程只提供Linux系统的打包教程,其他平台读者可自行探索。

打包步骤
  1. 下载IoTCenter源包。

    • 到下载地址IoTCenter平台下载中心 (opens new window)下载最新版本的IoTCenter软件压缩包。

    • 命令

      curl -o IoTCenter.zip https://ganweicloud.obs.cn-north-4.myhuaweicloud.com/%E6%96%87%E6%A1%A3%E7%BD%91%E7%AB%99/IoTCenter%E7%89%88%E6%9C%AC/v6.1.1_release/Linux_x86_64.zip
      
  2. 解压源包。

    • 命令
      unzip IoTCenter.zip
      
  3. 创建镜像EntryPoint脚本runGW.sh。

    • 代码
      #!/bin/bash
      umask 027
      # start service
      nohup /opt/ganwei/IoTCenter/IoTCenterWeb/shell/restart.sh >/dev/null 2>&1 &
      
      sleep 15
      echo "start service finish"
      tail -f /dev/null
      
      
  4. 创建打包Dockerfile。

    • 代码
      # 基础镜像为微软官方aspnetcore6.0镜像
      FROM mcr.microsoft.com/dotnet/nightly/aspnet:6.0
      
      # 初始化时区为中国上海(东八区)
      ENV TZ="Asia/Shanghai"
      
      # 去除apt安装缓存
      RUN apt update \
      && rm -rf /var/lib/apt/lists/*
      
      RUN mkdir -p /opt/ganwei/ \
      && chmod -R 755 /opt/ganwei
      
      COPY IoTCenter /opt/ganwei/IoTCenter
      COPY runGW.sh /opt/ganwei/
      
      # 修改.sh文件的权限,谨防越权
      RUN find /opt/ganwei/IoTCenter/IoTCenterWeb -name *.sh -exec chmod 550 {} \;
      
      EXPOSE 44380
      
      WORKDIR /opt/ganwei/
      
      # 启动EntryPoint脚本
      CMD sh runGW.sh
      
  5. 部署中也许需要持久化一些文件,如:配置文件AlarmCenterProperties.xml;SQLite数据库文件(使用关系型数据库服务器MySQL等则忽略);插件安装目录packages等。

    • 容器启动命令

      docker run -itd \
       -v /var/gwiot/CurveData:/opt/ganwei/IoTCenter/CurveData \
       -v /var/gwiot/database:/opt/ganwei/IoTCenter/database \
       -v /var/gwiot/data:/opt/ganwei/IoTCenter/data/ \
       -v /var/gwiot/packages:/opt/ganwei/IoTCenter/IoTCenterWeb/packages \
       -p 44380:44380 iotcenter:6.1.0
      
    • 注意:由于映射目录时,目录文件会自动清除。所以在启动脚本中需做一些前置工作。

      • 在启动时需先生成sqlite数据库文件。
      DBPATH=/opt/ganwei/IoTCenter/database/Database.db
      
      # Linux系统需安装sqlite3包。
      if [ ! -f "$DBPATH" ]; then
          cat /ganwei/config/sqlite.sql | sqlite3 $DBPATH
          echo "execte initialized sql script"
      fi
      
      • 由其他备用目录复制配置文件AlarmCenterProperties.xml至运行目录
      XMLDIR=/ganwei/data/
      
      cp -rf $XMLDIR/* /opt/ganwei/IoTCenter/data/
      
      • 由其他备用目录原始插件包至运行目录下。
      PKGDIR=/ganwei/packages/
      
      cp -rn /opt/ganwei/IoTCenter/IoTCenterWeb/originpackages/* $PKGDIR
      
  6. 最后的启动脚本runGW.sh

    #!/bin/bash
        umask 027
    
        PKGDIR=/ganwei/packages/
        XMLDIR=/ganwei/data/
        DBPATH=/opt/ganwei/IoTCenter/database/Database.db
    
        # create database
        if [ ! -f "$DBPATH" ]; then
            cat /ganwei/config/sqlite.sql | sqlite3 $DBPATH
            echo "execte initialized sql script"
        fi
    
        # copy xml
        cp -rf $XMLDIR/* /opt/ganwei/IoTCenter/data/
    
        # copy packages
        cp -rn /opt/ganwei/IoTCenter/IoTCenterWeb/originpackages/* $PKGDIR
        
        # start service
        nohup /opt/ganwei/IoTCenter/IoTCenterWeb/shell/restart.sh >/dev/null 2>&1 &
    
        sleep 15
        echo "start service finish"
        tail -f /dev/null
    
上次更新: 2025/6/19 15:35:39

← Linux安装 新手安装→

目录
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式