在Docker中快速部署iServer
Step1 先为Docker中心加速
如果还没有安装Docker,请参考这里:https://docs.docker.com/linux 。
安装完Docker后,您还不能直接去下载iServer镜像。基于大家都懂的原因,国内使用Docker时下载速度较慢,而GIS服务器镜像的体积都不会很小,如iServer有572MB,所以想要玩Docker,我们必须先使用国内的加速器。本例推荐使用阿里云加速器(https://help.aliyun.com/knowledge_detail/5974865.html)。
以Ubuntu系统为例,您可以使用如下的命令将mirror的配置添加到docker daemon的启动参数中:
echo "DOCKER_OPTS=\"--registry-mirror=https://hqsuattf.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart
Step2 下载iServer镜像
在Docker宿主机中执行以下命令下载最新的iServer镜像(大约需要十几分钟,取决于网速):
docker pull supermap/iserver
下载完成后,您可以查看下载的image信息,supermap/iserver镜像的空间占用是900MB+(与镜像中心显示的体积不同)。
docker images
Step3 运行一个Docker容器即可启动iServer
基于下载的iServer镜像,运行一个Docker容器iserver1。在Docker中执行以下命令:
docker run --name iserver1 -d -p 8090:8090 –v /home/data:/home supermap/iserver
上述命令执行了运行容器并启动iServer服务的过程。仅需等待几秒钟,iServer就已经启动完成了。此时,您直接打开浏览器访问http://<宿主机IP>:8090,您就可以看到iServer真容,创建初始化管理员后就可以开始使用iServer啦。
Step4 在iServer上发布GIS数据
有了iServer服务,如何发布本地的GIS数据呢?
我们在上一步运行容器的时候已经通过 -v参数指定了从宿主机到Docker容器的映射路径(–v /home/data:/home),因此我们可以:直接将数据放在宿主机的某一目录(本例为/home/data)下即可。登录iServer服务管理器,进入快速发布服务向导,远程浏览时就可以直接在容器的相应目录(本例为/home)下找到映射的数据并发布。
路径映射的方式可以用来发布文件型GIS数据,如文件型工作空间、MBTiles瓦片包等。但如果您的GIS数据存储在数据库中,如数据库型工作空间、MongoDB瓦片等,则无需此映射。本着隔离及资源共/用的原则,请将数据库单独部署(宿主机或其他服务器),所有iServer都可以直接访问该数据库。