iCM Dockerfile说明

Supported tags

  • c802

What is SuperMap iCloudManager?

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

  • site: www.supermap.com
  • documentation: onlinehelp

Image description

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

How to use this image?

  • 直接使用(相对复杂)
  • 利用Docker Compose使用(简单快捷)

直接使用

  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:c802
     $ docker pull supermap/iportal:c802
     $ docker pull supermap/idesktop-cross:c802
    
  3. 准备Zabbix-Server环境
    使用现有的Zabbix-Server或使用Docker新启动1个Zabbix-Server。

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

  1. 启动iCloudManager

     $ docker run -p 8080:8080 \
     -e ZABBIX_URI=http://zabbix_server_ip/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 ADMIN_USERNAME=admintest \
    -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远程端口号。
    ADMIN_USERNAME为管理员的账号
    ADMIN_PASSWORD 为管理员的密码
    TEMPLATE_ISERVER为docker中GIS 服务器的镜像名称
    TEMPLATE_IPORTAL为docker中GIS门户的镜像名称
    TEMPLATE_DESKTOP为docker中GIS 的镜像名称
    模板名称是可选参数。服务启动时不会出现初始化界面iCloudManager会使用您所设置的信息进行自动配置。

    其他可选环境变量参数有,配置后iCloudManager使用配置的后台数据库,否则用默认的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
    
  2. 存储配置文件在本地而不是在容器中
    Docker volumes可以持久保存您的配置,您需要挂载本地文件夹到/etc/icloud/config下,如示例中:
    -v /home/test:/etc/icloud/config
    就是将本地的/home/test 挂载到container的/etc/icloud/config中。
    需要注意的是您要对需要挂载的文件夹有读写权限,如对/home/test有读写权限

  3. 使用iCloudManager

    访问 http://docker_host_ip:8080 ,使用4.中设置的管理员账号密码登录即可

利用Docker Compose使用

  1. 编写docker-compose.yml

     icloudmanager:
       image: supermap/icloudmanager:c810
       volumes:
     - /home/test:/etc/icloud/config
     environment:
     - ZABBIX_URI=http://zabbix-server:80/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
     ports:
     - "8080:8080"
     links:
     - zabbix-server:zabbix-server
     zabbix-server:
     image: berngp/docker-zabbix
     ports:
     - "81:80"
    

其中
ZABBIX_URI 为Zabbix-Server的RPC调用地址
DOCKER_SERVERIP为Docker主机IP
DOCKER_SERVERPORT为开放的Docker远程端口号。
ADMIN_USERNAME为管理员的账号
ADMIN_PASSWORD 为管理员的密码
TEMPLATE_ISERVER为docker中GIS 服务器的镜像名称
TEMPLATE_IPORTAL为docker中GIS门户的镜像名称
TEMPLATE_DESKTOP为docker中GIS 的镜像名称
模板名称是可选参数。服务启动时不会出现初始化界面iCloudManager会使用您所设置的信息进行自动配置。
注意:DOCKER_SERVERIP以及DOCKER_SERVERPORT改为你自己的Docker主机IP以及开放的端口号

  1. 存储配置文件在本地而不是在容器中
    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中设置的管理员账号密码登录即可。

你可能感兴趣的:(iCM Dockerfile说明)