# Supported tags
* `c802`
# What is SuperMap iCloudManager?
SuperMap iCloudManager 是超圖 GIS 云管理系統(tǒng)。
* 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環(huán)境
使用現(xiàn)有的Zabbix-Server或使用Docker新啟動1個Zabbix-Server。
>使用Docker創(chuàng)建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調(diào)用地址
DOCKER_SERVERIP為Docker主機IP
DOCKER_SERVERPORT為開放的Docker遠程端口號。
ADMIN_USERNAME為管理員的賬號
ADMIN_PASSWORD 為管理員的密碼
TEMPLATE_ISERVER為docker中GIS 服務(wù)器的鏡像名稱
TEMPLATE_IPORTAL為docker中GIS門戶的鏡像名稱
TEMPLATE_DESKTOP為docker中GIS 的鏡像名稱
模板名稱是可選參數(shù)。服務(wù)啟動時不會出現(xiàn)初始化界面iCloudManager會使用您所設(shè)置的信息進行自動配置。
其他可選環(huán)境變量參數(shù)有,配置后iCloudManager使用配置的后臺數(shù)據(jù)庫,否則用默認的Sqlite數(shù)據(jù)庫。
-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中。
需要注意的是您要對需要掛載的文件夾有讀寫權(quán)限,如對/home/test有讀寫權(quán)限
## 利用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調(diào)用地址
DOCKER_SERVERIP為Docker主機IP
DOCKER_SERVERPORT為開放的Docker遠程端口號。
ADMIN_USERNAME為管理員的賬號
ADMIN_PASSWORD 為管理員的密碼
TEMPLATE_ISERVER為docker中GIS 服務(wù)器的鏡像名稱
TEMPLATE_IPORTAL為docker中GIS門戶的鏡像名稱
TEMPLATE_DESKTOP為docker中GIS 的鏡像名稱
模板名稱是可選參數(shù)。服務(wù)啟動時不會出現(xiàn)初始化界面iCloudManager會使用您所設(shè)置的信息進行自動配置。
**注意**:DOCKER_SERVERIP以及DOCKER_SERVERPORT改為你自己的Docker主機IP以及開放的端口號
2. 存儲配置文件在本地而不是在容器中
Docker volumes可以持久保存您的配置
您需要掛載本地文件夾到/etc/icloud/config下,如示例中:
volumes:
- /home/test:/etc/icloud/config
就是將本地的/home/test 掛載到container的/etc/icloud/config中。
需要注意的是您要對需要掛載的文件夾有讀寫權(quán)限,如對/home/test有讀寫權(quán)限
3. 運行 `$ docker-compose up -d` ,訪問 http://docker_host_ip:8080 ,初始化iCloudManager