docker iServer集群
supermapsupport 人气:0前言
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 访问服务,并在“集群”页面看到子节点已经添加完成,子节点也可以作为切图子节点参与切图任务。
加载全部内容