Drools 7.15.0 docker容器方式部署

文章出处:https://quguang.wang/post/drools-7.15.0.final-docker-deploy/
关于drools的相关介绍就不再赘述了,关于drools网上的资料都很少,或者都有些老了,最近折腾了一下,记录下安装部署的过程,希望能节省下大家的时间。

一、快速部署

1.拉取基础镜像,命令如下:

docker run -p 8080:8080 -p 8001:8001 -d --name drools-workbench jboss/drools-workbench-showcase:7.15.0.Final
docker run -p 8180:8080 -d --name kie-server --link drools-workbench:kie_wb jboss/kie-server-showcase:7.15.0.Final

2.点击访问,账号密码:admin/admin

二、问题

1.drools中文规则乱码问题

由于我使用的是7.15.0版本,dockerfile中默认添加了JVM的文件编码格式-Dfile.encoding=UTF-8,所以没有此问题了。

2.容器时区问题

由于docker中默认是零时区,需要在dockerfile中设置容器的时区,内容如下

RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

3.drools规则持久化保存

由于Docker默认设置,一旦移除了容器,该容器中的数据也将被删除,如果需要删除并创建新的工作台容器,则会出现问题。

默认情况下,工作台容器的内部GIT根目录位于 /opt/jboss/wildfly/bin/.niogit,因此你可以通过使用docker 的 volumne 机制来使此目录在docker中保持不变:

挂载目录,centos下创建/home/myuser/web_git/mygit,修改文件夹及其子文件夹文件权限,命令如下:

chmod -R 777 home/;
# Use -v :
docker run -p 8080:8080 -p 8001:8001 -v /home/myuser/wb_git:/opt/jboss/wildfly/bin/.niogit:Z -d --name drools-workbench jboss/drools-workbench-showcase:7.15.0.Final

如上面的命令,现在你的workbench git存储库将在你的本地文件系统路径 /home/myuser/wb_git 中持久化。 因此,如果你删除此容器并使用相同的共享卷启动一个新容器,你也可以在新工作台的容器中找到所有数据。

4.drools规则源文件如何拿到

比如我想下载 MySpace 空间中的 Mortgages 项目的源代码,使用ssh协议通过git下载即可,地址在 MySpace-> Mortgages -> 设置 -> General Settings的URL参数中。

如下图所示:

drools-git-ssh

git clone ssh://admin@localhost:8001/MySpace/example-Mortgages

用户名密码就是登陆workbench的用户名密码

三、完整部署流程

完整的dockerfile如下

From jboss/drools-workbench-showcase:7.15.0.Final

####JVM最大堆内存调大#####
ENV JAVA_OPTS -Xms256m -Xmx4096m -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8

# Added files are chowned to root user, change it to the jboss one.
USER root

###docker容器时间同步配置####
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

1.构建镜像,命令如下:


docker build  -t drools-workbench:MyTag .

2.启动镜像,命令如下:

docker run -p 8080:8080 -p 8001:8001 -v /home/myuser/wb_git:/opt/jboss/wildfly/bin/.niogit:Z -d --name drools-workbench drools-workbench:MyTag

3.浏览器访问,http://localhost:8080/drools-wb

参考资料:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Drools规则引擎的Docker部署,我可以提供以下步骤: 1. 下载Drools Workbench镜像 在终端中执行以下命令,下载Drools Workbench镜像: ``` docker pull jboss/drools-workbench-showcase:latest ``` 2. 运行Drools Workbench容器Drools Workbench运行在Docker容器中,执行以下命令: ``` docker run -p 8080:8080 -d --name drools-workbench jboss/drools-workbench-showcase:latest ``` 其中,`-p`参数指定容器端口和宿主机器端口的映射关系,`-d`参数指定容器在后台运行,`--name`参数指定容器名称。 3. 访问Drools Workbench 在浏览器中访问`http://localhost:8080/drools-workbench`,即可进入Drools Workbench。 除此之外,您还可以将Drools规则引擎集成到自己的应用程序中,然后使用Docker部署该应用程序。具体步骤如下: 1. 编写Drools应用程序 编写Drools应用程序,并将其打包成可执行的JAR文件。 2. 创建Docker镜像 在Drools应用程序目录下创建Dockerfile文件,编写Docker镜像构建脚本,并执行以下命令构建Docker镜像: ``` docker build -t drools-app:latest . ``` 其中,`-t`参数指定Docker镜像名称和标签,`.`表示Dockerfile文件所在的当前目录。 3. 运行Docker容器 执行以下命令,在Docker容器中运行Drools应用程序: ``` docker run -p 8080:8080 -d --name drools-app drools-app:latest ``` 其中,`-p`参数指定容器端口和宿主机器端口的映射关系,`-d`参数指定容器在后台运行,`--name`参数指定容器名称。 希望这些信息能够帮助到您,如果您还有其他问题,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值