关于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大专栏  Drools 7.15.0 docker容器方式部署持久化。 因此,如果你删除此容器并使用相同的共享卷启动一个新容器,你也可以在新工作台的容器中找到所有数据。

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

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

如下图所示:

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

参考资料:

Drools 7.15.0 docker容器方式部署的更多相关文章

  1. Gogs的Docker容器化部署流程遇到的问题

    Gogs的Docker容器化部署流程遇到的问题   最近在学习CI/CD的一些方案,个人比较青睐容器化轻量级.CI方面一开始是想使用gitlab的,但是发现我自己买的服务器配置太低,内存根本不够(大写 ...

  2. Python环境搭建、python项目以docker镜像方式部署到Linux

    Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...

  3. spring boot本地开发与docker容器化部署的差异

    spring boot本地开发与docker容器化部署的差异: 1. 文件路径及文件名区别大小写: 本地开发环境为windows操作系统,是忽略大小写的,但容器中区分大小写 2. docker中的容器 ...

  4. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...

  5. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  6. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  7. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...

  8. ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx

    一.前言 在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core ...

  9. docker容器自动化部署(一)

    1.docker容器暴露多个端口 To expose just one port, this is what you need to do: docker run -p <host_port&g ...

随机推荐

  1. 以KNN为例用sklearn进行数据分析和预测

    准备 相关的库 相关的库包括: numpy pandas sklearn 带入代码如下: import pandas as pd import numpy as np from sklearn.nei ...

  2. 2019CSP-J游记

    2019-10-19:开一个坑,今天初赛,我是我们考场唯一几个坚持到16:45收卷的人,我们是机试,竟然可以用编译器. 这次初赛总体感觉打得不错,卷面满分200,最后实际分数,就是卷面分除以二. 初赛 ...

  3. BBS登录功能

    BBS登录功能 一.后端实现 1.实现验证码 from PIL import Image, ImageDraw, ImageFont import random from io import Byte ...

  4. 你必须知道的基本位运算技巧(状压DP、搜索优化都会用到)

    一. 位操作基础 基本的位操作符有与.或.异或.取反.左移.右移这6种,它们的运算规则如下所示: 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ...

  5. echart图表demo

    <!DOCTYPE html><html><head> <title>echarts</title></head><scr ...

  6. 900A. Find Extra One#寻找与众不同的它(计数)

    题目出处:http://codeforces.com/problemset/problem/900/A 题目大意:问删除一个点后,剩下的点能不能都在Y轴的同一边 #include<iostrea ...

  7. OAuth 2.0安全案例回顾

    转载自:http://www.360doc.com/content/14/0311/22/834950_359713295.shtml 0x00 背景 纵观账号互通发展史,可以发现OAuth比起其它协 ...

  8. springboot多数据源+jta事务管理配置

    1.创建一个maven项目,导入相关配置: <?xml version="1.0" encoding="UTF-8"?> <project x ...

  9. kaggle——绝地求生游戏最终排名预测

    绝地求生游戏最终排名预测 知识点 数据读取与预览 数据可视化 构建随机森林预测模型 导入数据并预览 先导入数据并预览.本次实验同样来源于 Kaggle 上的一个竞赛: 绝地求生排名预测 ,由于原始数据 ...

  10. 吴裕雄--天生自然python学习笔记:python 创建和操作Firebase实时数据库

    Fire base 是专为移动开发提供的后端服务平台, Firebase 数据库与传统数据库不同,它不是用数据表来存储数据, 而是用 Key . Value 的字典型结构来存储数据,所以它不仅 是轻量 ...