Mac帆软生成docker镜像

13 篇文章 4 订阅
3 篇文章 0 订阅

场景
使用帆软制作报表后,需要将报表系统生成可执行的docker镜像,技术总结如下:

1 测试项目

先测试项目,再打war包

1.1 找到项目,复制项目

打开帆软设计器,打开一个报表,展示的帆软项目位置如下:
在这里插入图片描述
然后,将这目录下的这个webroot文件夹复制到tomcat的webapps文件夹中。

1.2 替换tools.jar

如果你的项目能够正常启动,此步骤可省略。
找到java_home下lib/tools.jar,然后复制;
找到tomcat下webapps/webroot/WEB-INF/lib/tools.jar,然后替换。

1.3 启动tomcat
sudo sh ./startup.sh

参考:https://blog.csdn.net/leinminna/article/details/104621575

2 打war包

如果系统能够运行,开始打war包;
在tomcat/webapps/webroot 目录执行命令:

jar cvf webroot.war *

然后,会在该目录生成webroot.war文件

3 制作镜像

3.1 启动tomcat容器
docker run --name tomcat -p 8080:8080 -d tomcat:8.5.43  // 本地端口号:容器内部端口号,固定8080
docker logs tomcat
3.2 放置war

进入容器,找到tomcat容器的webapps目录,先删除同名文件

docker exec -it tomcat bash
rm webroot.war
rm -rf webroot
pwd // 获取文件路径
exit // 退出容器

然后在容器外,复制本地的war文件到tomcat容器下的这个目录

docker cp /Applications/FineReport/webapps/webroot/webroot.war tomcat:/usr/local/tomcat/webapps/

一般情况,war包会自动解压,如果需要手动解压,可以使用命令:

mikdir webroot // 先新建同名文件
jar -xvf webroot.war webroot // jar方式解压
unzip -oq webroot.war -d webroot // 或,zip方式解压
3.3 替换tools.jar

重启tomcat容器,如果你的项目能够正常启动,此步骤可省略。
在这个容器中,执行命令:
删除tomcat容器项目下的tools.jar

cd /usr/local/tomcat/webapps/webroot/WEB-INF/lib/
rm tools.jar

找到tomcat 容器中jdk中的tools.jar,然后替换

cd /usr/local/openjdk-8/lib/
cp tools.jar /usr/local/tomcat/webapps/webroot/WEB-INF/lib/
3.4 重启容器
docker restart tomcat
docker logs tomcat
3.5 制作新镜像

使用现有的运行系统生成镜像

docker commit tomcat webroot:v1.0

在这里插入图片描述
然后测试这个新镜像:

docker stop tomcat
docker run -d --name webroot -p 8080:8080 webroot:v1.0 // 本地端口号:容器内部端口号,固定8080

然后页面测试
在这里插入图片描述

3.6 下载镜像

指定下载路径和tar文件名

docker image save -o /Users/leimin/Documents/cncommdataFile/webroot.tar webroot:v1.0

结果
在这里插入图片描述
注释:上传docker仓库。

$ sudo docker login --username=2665632321@qq.com registry.cn-chengdu.aliyuncs.com
$ sudo docker tag [镜像Id] registry.cn-chengdu.aliyuncs.com/himurasong/[镜像名]:[镜像版本号]
$ sudo docker push registry.cn-chengdu.aliyuncs.com/himurasong/[镜像名]:[镜像版本号]

4 加载tar

然后,将tar包发给客户,客户将tar包加载到docker,命令:

docker load --input webroot.tar

参考:https://www.cnblogs.com/linjiqin/p/8604756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值