基于Docker搭建iServer集群
作者:supermapsupport
前言
Linux容器虚拟技术(LXC,Linux Container)是一种轻量级的虚拟化手段,它利用内核虚拟化技术提供轻量级的虚拟化,来隔离进程和资源。Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间。
一、安装Docker
参考博客 https://www.runoob.com/docker/centos-docker-install.html
或者Docker官网 https://docs.docker.com/engine/install/centos/
二、下载 iServer 镜像
在Docker宿主机中执行以下命令下载最新的 iServer 镜像:
docker pull supermap/iserver
下载完成后,您可以通过以下命令查看已下载的image信息:
docker images
三、启动iServer
运行Docker即可启动iServer
基于下载的iServer 镜像,运行一个Docker容器iserver1。执行如下命令:
docker run --name iserver1 -d -p 8090:8090 -v `pwd`/my_opts:/opt/iserverOPTs supermap/iserver
- iserver1 为容器名称可以自定义
- -p 8090:8090 表示:宿主机端口(对外暴露端口):容器端口
- -v表示映射数据路径,搭建集群时,使用此参数后可在主节点上发布服务
- pwd/my_opts:/opt/iserverOPTs supermap/iserver 代表:宿主机路径:容器内挂载路径
- ‘pwd’代表在当前所在目录
注意:my_opts 代表要从宿主机中要映射到容器的数据所在的文件夹,可以根据您计算机中的实际路径自定义,/opt/iserverOPTs 为一个已存在于容器中的文件夹,用于存放所有 iServer 相关的配置文件。
四、发布服务
在上述步骤中,已通过-v参数指定了从宿主机到Docker容器的映射路径(-v pwd
/my_opts:/opt/iserverOPTs),因此可以直接将数据放在宿主机的某一目录中(pwd
/my_opts)。登录iServer服务管理器,进入快速发布服务向导,远程浏览时就可以直接在容器的相应目录下找到映射的数据并发布。
以数据放到iserver_data文件夹为例,iserver发布服务时就可以选择该数据
五、搭建集群
可将上述示例中启动的 iServer 作为集群主节点。启动容器son1,作为集群子节点:
docker run --name son1 --link iserver1:master -v /home/data:/home supermap/iserver
- 子节点可以无需对外暴露端口号,直接在宿主机内使用容器son1的内部 IP 访问服务,并发布地图服务,也可以暴露端口,上面已介绍,这里不再赘述–link 参数的格式为
- --link name:alias,此处 --link iserver1:master表示将该容器连接到iserver1容器上,为iserver1设置别名为master。别名可以随意指定
- -v 映射数据路径,方便在子节点上发布服务
出现以下字样说明启动成功
修改集群子节点的iserver-system.xml文件,配置加入集群
<reporter> <enabled>true</enabled> <address>http://master:8090/iserver/services/cluster</address> <isTileWorker>true</isTileWorker> <token/> </reporter>
两个容器都启动后,可以通过http://<宿主机IP>:8090 访问服务,并在“集群”页面看到子节点已经添加完成,子节点也可以作为切图子节点参与切图任务。
到此这篇关于基于Docker搭建iServer集群的文章就介绍到这了,更多相关docker iServer集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!