博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原]Docker部署SuperMap8.1.1
阅读量:4603 次
发布时间:2019-06-09

本文共 4421 字,大约阅读时间需要 14 分钟。

摘要:本文主要实践在Docker上制作SuperMap(超图)V8.1.1镜像,文中将使用 docker commit 方式创新镜像(Dockerfile择机再做)。本文中使用的宿主环境及镜像环境都是CentOS7.2.1511

(为啥是SuperMap呢?因为我们公司的项目全是用超图滴) 

本机上的现状

 1. 创建新容器,此处新建的容器ID前四位是18f6

docker run -it centos7.2.1511

 

2. 复制jre,tomcat部署包到容器中

docker cp server-jre-8u121-linux-x64.tar.gz 18f6:/tmp docker cp apache-tomcat-8.5.11.tar.gz 18f6:/tmp

请在自行下载,本文使用war包

下载好后在宿主机中将文件解压好 unzip supermap_iserver_8.1.1a_war.zip 

将3个war文件和 support_linux_x64.tar.gz 复制到容器中

docker cp iserver#help.war 18f6:/tmpdocker cp iserver#iClient.war 18f6:/tmpdocker cp iserver.war 18f6:/tmpdocker cp support_linux_x64.tar.gz 18f6:/tmp 

3. 启动容器,使用 -ia 参数,可以向容器附加输入输出,通俗点来说就是有能开启容器的终端

docker start -ia 18f6

可以看到相当于进入到容器内部,看到了上一步中复制进去的jre、tomcat的部署包

4. 部署jre

mkdir -p /usr/local/javamv /tmp/server-jre-8u121-linux-x64.tar.gz /usr/local/java tar -xzvf /usr/local/java/server-jre-8u121-linux-x64.tar.gz -C /usr/local/java rm /usr/local/java/server-jre-8u121-linux.x64.tar.gz -f

使用 vi /etc/profile 设置java环境变量,在 /etc/profile 最下面添加以下环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_121export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$PATH:$JAVA_HOME/bin

使用 source /etc/profile 使环境变量生效,验证jre部署

5. 部署tomcat

mkdir -p /usr/local/tomcatmv /tmp/apache-tomcat-8.5.11.tar.gz /usr/local/tomcattar -xzvf /usr/local/tomcat/apache-tomcat-8.5.11.tar.gz -C /usr/local/tomcatrm /usr/local/tomcat/apache-tomcat-8.5.11.tar.gz -f

使用 vi /etc/profile 设置tomcat环境变量,在 /etc/profile 最下面添加以下环境变量

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.11export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.11export PATH=$PATH:$CATALINA_BASE/bin

使用 source /etc/profile 使环境变量生效,启动tomcat, $CATALINA_BASE/bin/startup.sh 

使用 curl -I 验证tomcat,看到200状态码说明tomcat已经开始工作了。

6. 部署超图

先创建 supermap 目录 mkdir -p /home/supermap 

解压超图文件包  tar -xzvf support_linux_x64.tar.gz --strip-components 1 -C /home/supermap  

安装Supermap依赖项( /home/supermap/dependencies_check_and_install.sh 是超图提供的默认安装依赖项的脚本,而且并不能在CentOS7.2.1511上正确运行,因此这里只能手动安装了)

yum install gcc gcc-c++ libX11 zlib glibc libpng libgomp libXau libXdmcp libXext libXtst libXi -y

安装SuperMap License的依赖项

yum install libstdc++-devel.i686 glibc.i686 libgcc.i686 libstdc++.i686 glibc-devel.i686 -y

将超图的war包全放到 $CATALINA_BASE/webapps ,即tomcat中

cp /tmp/iserver*.war $CATALINA_BASE/webapps

使用 vi /etc/profile 设置超图环境变量,在 /etc/profile 最下面添加以下环境变量 

export SUPERMAP_ROOT=/home/supermapexport UGO_HOME=$SUPERMAP_ROOT/objectsjava/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UGO_HOME

7. 创建开机运行文件 vi /run.sh ,输入以下内容

#!/bin/bash cd /home/supermap/SuperMap_License/Support tar xvf aksusbd-2.4.1-i386.tar cd aksusbd-2.4.1-i386 ./dunst ./dinst source /etc/profilesh $CATALINA_BASE/bin/catalina.sh run

8. 退出容器

exit

9. 创建新的超图镜像

docker commit 18f6 centos:supermap

10. 创新新的超图容器

docker run -p 8080:8080 -d --name think8848_supermap centos:supermap /run.sh

使用 docker ps 可以看到容器5802已经在后面运行了

在宿主机上开启防火墙端口

firewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --reload

11. 尝试访问超图,打开浏览器,输入 http://hostip:8080/iserver , 就可以看 到下面的画面了

 

 

 进入超图了

超图服务管理页面

 

附:关于超图的一点小经验

1. 在使用超图的过程中,我和同事都发生过一个问题,时间久了后,超图服务的管理员密码不知道了,不要急着重装,还有个办法可以解决,点击,下载密码重启脚本。

非Docker环境下:将passwordreset.zip解压,得到passwordreset.sh,将这个文件放到tomcat的bin目录下,然后给该文件执行权限,并执行之。

Docker环境下:先进入容器,将passwordreset.sh放到 $CATALINA_BASE/bin 目录下,然后打开 vi /run.sh 文件,在 sh $CATALINA_BASE/bin/catalina.sh run 之上添加 sh $CATALINA_BASE/bin/passwordreset.sh run 脚本,然后退出容器,使用 docker restart 5802 重新容器,再次打开超图服务管理器,就能重置密码了。然而在重置密码之后,又需要更新一次临时授权。记得最后把run.sh中的重置密码行删掉,不然下次开启又自动重置密码了。

2. 在Linux下部署超图, 如果需要用 systemctl enable tomcat 自动启动tomcat,那么需要在 /usr/lib/systemd/system/tomcat.service 进行如下配置,否则iserver无法启动

[Unit]Description=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_121Environment=JRE_HOME=/usr/local/java/jdk1.8.0_121/jreEnvironment=CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.11Environment=CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.11Environment=SUPERMAP_ROOT=/home/supermapEnvironment=UGO_HOME=/home/supermap/objectsjava/binEnvironment=LD_LIBRARY_PATH=/home/supermap/objectsjava/binType=forkingPIDFile=/usr/local/tomcat/apache-tomcat-8.5.11/tomcat.pidExecStart=/usr/local/tomcat/apache-tomcat-8.5.11/bin/startup.shExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target

 

转载于:https://www.cnblogs.com/think8848/p/6535960.html

你可能感兴趣的文章
桐桐的贸易--WA
查看>>
历届试题 高僧斗法
查看>>
linux命令系列 stat & touch
查看>>
[Tools] Webstorm Github的配置与使用
查看>>
鬼谷子绝学
查看>>
用Html5与Asp.net MVC上传多个文件
查看>>
Xcode中匹配的配置包的存放目录
查看>>
JavaScript将具有父子关系的原始数据格式化成树形结构数据(id,pid)
查看>>
MySQL服务使用
查看>>
C语言练手自己编写学生成绩管理系统
查看>>
20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结
查看>>
How to lisp Lisp output a paragraph"500 Tph Dry Process Cement Plant Machinery Manufacturers"
查看>>
OpenMobile's Application Compatibility Layer (ACL)
查看>>
竞价广告系统-广告检索
查看>>
强哥PHP面向对象学习笔记
查看>>
[转]基于.NET平台常用的框架整理
查看>>
Symbian (Read Inbox)读取收件箱的内容
查看>>
良好的编程规范
查看>>
struts2 入门
查看>>
.net 编译原理
查看>>