Public Repository

Last pushed: 6 months ago
Short Description
SuperMap iCloudManager 是超图 GIS 云管理系统,用于构建云 GIS 解决方案
Full Description

Supported tags

  • c802 , c810, c811

What is SuperMap iCloudManager?

SuperMap iCloudManager 是超图 GIS 云管理系统。

Image description

It is the official SuperMap iCloudManager image based on Ubuntu14.04 with Java 1.8.

How to use this image?

直接使用

  1. 开放远程端口:

    $ echo "DOCKER_OPTS=\"\$DOCKER_OPTS -H unix:///var/run/docker.sock -H 0.0.0.0:2375\"" | sudo tee -a /etc/default/docker
    $ sudo service docker restart
    
  2. 准备GIS镜像(可以仅准备所需的那个,例如只准备iServer):

    $ docker pull supermap/iserver:c811a
    $ docker pull supermap/iportal:c811
    $ docker pull supermap/idesktop-cross:c811
    
  3. 准备Zabbix-Server环境
    使用现有的Zabbix-Server或使用Docker新启动1个Zabbix-Server。

    使用Docker创建Zabbix-Server参见:https://hub.docker.com/r/berngp/docker-zabbix/
    该Zabbix-Server启动后,默认账户为:Admin:zabbix 。
    该Zabbix-Server的访问地址为:http://$container_ip/zabbix。

  4. 启动iCloudManager

    $ docker run -p 8080:8080 \
    -e ZABBIX_URI=http://$container_ip:80/zabbix/api_jsonrpc.php \
    -e ZABBIX_USERNAME=Admin \
    -e ZABBIX_PASSWORD=zabbix \
    -e PLATFORMTYPE=DOCKER \
    -e DOCKER_SERVERIP=$dockerIP \
    -e DOCKER_SERVERPORT=2375 \
    -e DOCKER_PROTOCOL=tcp \
    -e DOCKER_API_VERSION=1.22 \
    -e DOCKER_IP_MAPPER=$dockerPublicIP \
    -e ADMIN_USERNAME=admin \
    -e ADMIN_PASSWORD=icloud \
    -e TEMPLATE_ISERVER=supermap/iserver:c802 \
    -e TEMPLATE_IPORTAL=supermap/iportal:c802 \
    -e TEMPLATE_DESKTOP=supermap/idesktop-cross:c802 \
    -v /home/test:/etc/icloud/config \
    supermap/icloudmanager:c810
    

    ​ 其中

    • ZABBIX_URI 为Zabbix-Server的RPC调用地址
    • DOCKER_SERVERIP为Docker主机IP
    • DOCKER_SERVERPORT为开放的Docker远程端口号。
    • DOCKER_IP_MAPPER(可选,一般删除此行):为Docker服务器对外开放访问的IP, 例如123.5.5.6, 仅当部署的机器需要通过非本机IP暴露服务时使用,当使用Docker swarm集群时,需要写所有子节点的私有IP与对外IP的匹配规则(例如192.168.17.6:123.5.5.6;192.168.17.7:123.5.5.7)。
    • ADMIN_USERNAME为管理员的账号
    • ADMIN_PASSWORD 为管理员的密码
    • TEMPLATE_ISERVER为docker中GIS 服务器的镜像名称
    • TEMPLATE_IPORTAL为docker中GIS门户的镜像名称
    • TEMPLATE_DESKTOP为docker中GIS 的镜像名称

    这些都是初始化参数,会使iCloudManager自动初始化。其中,模板名称是可选参数,在启动之后可以在UI重新配置。

    其他可选环境变量参数如下,用于配置后台数据库(默认的Sqlite数据库,无需配置)。

    -e DB_TYPE=mysql \
    -e DB_URL=jdbc:mysql://someip:3306/icm_db?useUnicode=true&characterEncoding=UTF-8 \
    -e DB_USER=icloud \
    -e DB_PASSWORD=icloud \
    -e DB_MAXPOOLSIZE=1 \
    -e DB_INITIALPOOLSIZE=1 \
    -e DB_MINPOOLSIZE=1 \
    -e DB_MAXIDLETIME=3000 \
    -e DB_CHECKOUTTIMEOUT=0
    
  5. 存储配置文件在本地而不是在容器中

    Docker volumes可以持久保存您的配置,您可以挂载本地文件夹到/etc/icloud/config下,持久化iCloudManager的配置,例如:

    -v /home/test:/etc/icloud/config
    

    上述命令就是将本地的/home/test 挂载到container的/etc/icloud/config位置,进行持久化。

    需要注意的是您要对需要挂载的文件夹有读写权限,如对/home/test有读写权限

  6. 使用iCloudManager

    访问 http://docker_host_ip:8080 ,使用ADMIN_USERNAME和ADMIN_PASSWORD 登录即可使用。

利用Docker Compose使用

  1. 编写docker-compose.yml

    icloudmanager:
      image: supermap/icloudmanager:c810
      volumes:
        - /home/test:/etc/icloud/config
      environment:
        - ZABBIX_URI=http://zabbix-server:80/zabbix/api_jsonrpc.php
        - ZABBIX_USERNAME=Admin
        - ZABBIX_PASSWORD=zabbix
        - PLATFORMTYPE=DOCKER
        - DOCKER_SERVERIP=172.17.0.1
        - DOCKER_SERVERPORT=2375
        - DOCKER_PROTOCOL=tcp
        - DOCKER_API_VERSION=1.22
        - DOCKER_IP_MAPPER=dockerPublicIP  # 可选,一般删除此行即可
        - ADMIN_USERNAME=admin 
        - ADMIN_PASSWORD=icloud 
      ports:
        - "8080:8080"
      links:
        - zabbix-server
    zabbix-server:
      image: berngp/docker-zabbix
      ports:
        - "81:80"
    

    其中

    • ZABBIX_URI 为Zabbix-Server的RPC调用地址
    • DOCKER_SERVERIP为Docker主机IP
    • DOCKER_SERVERPORT为开放的Docker远程端口号。
    • DOCKER_IP_MAPPER(可选,一般删除此行):为Docker服务器对外开放访问的IP, 例如123.5.5.6, 仅当部署的机器需要通过非本机IP暴露服务时使用,当使用Docker swarm集群时,需要写所有子节点的私有IP与对外IP的匹配规则(例如192.168.17.6:123.5.5.6;192.168.17.7:123.5.5.7)。
    • ADMIN_USERNAME为管理员的账号
    • ADMIN_PASSWORD 为管理员的密码
    • TEMPLATE_ISERVER为docker中GIS 服务器的镜像名称
    • TEMPLATE_IPORTAL为docker中GIS门户的镜像名称
    • TEMPLATE_DESKTOP为docker中GIS 的镜像名称

    这些都是初始化参数,会使iCloudManager自动初始化。其中,模板名称是可选参数,在启动之后可以在UI重新配置。其它可配置参数可以参见上述直接使用过程中的启动iCloudManager步骤中的描述。

    注意:DOCKER_SERVERIP以及DOCKER_SERVERPORT改为你自己的Docker主机IP以及开放的端口号

  2. 存储配置文件在本地而不是在容器中

    Docker volumes可以持久保存您的配置,您需要挂载本地文件夹到/etc/icloud/config下,如示例中:

      volumes:
        - /home/test:/etc/icloud/config
    

    就是将本地的/home/test 挂载到container的/etc/icloud/config中。
    需要注意的是您要对需要挂载的文件夹有读写权限,如对/home/test有读写权限。

  3. 使用iCloudManager

    运行 $ docker-compose up -d,访问 http://docker_host_ip:8080 ,使用docker-compose.yml中设置的管理员账号密码登录即可。

Docker Pull Command
Owner
supermap

Comments (0)