Docker 容器管理脚本--以大数据环境为例
分享
目的:
效率:
实现:
文章来源:https://github.com/serverteamCN/TechnicalArticles/blob/master/BigData/Docker%20容器管理脚本--以大数据环境为例.md
目的:
在docker中通过执行脚本管理大数据环境容器以及容器内部的服务,快速启动一套测试环境。
在文章《在Docker环境内搭建大数据测试环境》中我们讨论了如何在docker环境内搭建矢量大数据测试环境,
按照以下保守思路搭建,我们需要5台容器:ArcGIS Enterprise基础部署一个容器,GA一个容器,时空库三台容器。
如果按照上述文章搭建完成后,我们面临管理多个容器的现实问题。
这篇文章要实现的是:容器停止后,如何实现自动化启动容器以及容器内部的服务(ArcGIS Portal, Server和Datastore),
从而提高工作效率。
效率:
一键执行脚本,代替反复动手敲入命令,每次管理任务保守估计节约成本1小时。
实现:
想要实现目的,我们需要实现两个问题:
Q1.如何生成Linux shell脚本文件
该问题是通用问题,可以在网上找到解决答案,此处不再赘述。
Q2.shell脚本中的内容,即如何实现管理
针对每台容器都需要执行以下两步:
首先,开启容器;
其次,进入到容器内部,开启ArcGIS 相关服务。
以下以开启portal所在容器和其服务为例。
*启动portal所在容器,容器名字为beportal*
docker start beportal
*按照预先分好的hosts映射表分配IP*
pipework docker0 -i eth0 beportal 172.17.0.20/24@172.17.0.1
*拷贝hosts文件到docker内部*
docker cp /etc/hosts beportal:/home/
*在docker内部执行命令*
docker exec -i beportal bash << EOF
*将hosts文件拷贝到最终的文件目的地*
/bin/cp -rf /home/hosts /etc/hosts
*进入到portal的安装目录*
cd /home/arcgis/arcgis/portal
*切换到arcgis即portal安装用户*
su arcgis
*执行启动portal服务脚本*
./startportal.sh
EOF
*在脚本执行框将完成状态告知用户*
echo 'beportal started'
利用上述思想,完成对GA 容器和服务,以及时空库(ArcGIS Datastore)容器的和服务管理的改写,
根据需求,将所有内容放在一个脚本中,或者分开放都可。
Enjoy your script!
文章来源:https://github.com/serverteamCN/TechnicalArticles/blob/master/BigData/Docker%20容器管理脚本--以大数据环境为例.md
0 个评论
发起人
相关问题
- 作为Desktop用户对数据的获取比较乏力,可能缺了哪些知识?
- gis开发群的管理不讲理,求围观。
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 有栅格数据a(大数据),小数据b,怎么从a中扣掉b,得到a数据剩下的部分?栅格能裁剪取反吗?
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- ArcGIS数据库数据逐图幅裁剪
- cityengine怎么导入arcgis的shp数据,对shp数据有什么要求
- 如何使用脚本或其他方法,将图层属性中属性域原值内容替换为属性域描述?
- 市区择房分析时,需要添加字段并将其赋值1或者-1,怎么做? 在开始编辑的时候,总是出现空间参考与数据框不匹配提示,原因是什么?会影响下面的赋值吗?
- 镶嵌数据集 Add Rasters
- 如何统计shp点数据落在栅格不同区间的个数?