# Supported tags
* `c802`
# What is SuperMap iCloudManager?
SuperMap iCloudManager 是超图 GIS 云管理系统。
* site: [www.supermap.com](http://www.supermap.com)
* documentation: [onlinehelp](http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iCloudManager/index.htm)
# Image description
It is the official SuperMap iCloudManager image based on Ubuntu14.04 with Java 1.7.
# How to use this image?
* [直接使用](#direct)(相对复杂)
* [利用Docker Compose使用](#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 。
4. 启动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
5. 存储配置文件在本地而不是在容器中
Docker volumes可以持久保存您的配置
您需要挂载本地文件夹到/etc/icloud/config下,如示例中:
-v /home/test:/etc/icloud/config
就是将本地的/home/test 挂载到container的/etc/icloud/config中。
需要注意的是您要对需要挂载的文件夹有读写权限,如对/home/test有读写权限
## 利用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以及开放的端口号
2. 存储配置文件在本地而不是在容器中
Docker volumes可以持久保存您的配置
您需要挂载本地文件夹到/etc/icloud/config下,如示例中:
volumes:
- /home/test:/etc/icloud/config
就是将本地的/home/test 挂载到container的/etc/icloud/config中。
需要注意的是您要对需要挂载的文件夹有读写权限,如对/home/test有读写权限
3. 运行 `$ docker-compose up -d` ,访问 http://docker_host_ip:8080 ,初始化iCloudManager