
library/bonita维护者:
Bonitasoft 社区
获取帮助的途径:
Bonita 官方文档、StackOverflow、Bonitasoft 社区论坛
Dockerfile 链接2025.1-u0, 2025.1, 10.3.0, 10.3, latest问题反馈地址:
Jira
支持的架构:(更多信息)
amd64
已发布镜像 artifact 详情:
repo-info 仓库的 repos/bonita/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/bonita 标签
official-images 仓库的 library/bonita 文件 (历史记录)
本文档来源:
docs 仓库的 bonita/ 目录 (历史记录)
Bonita 是一个开源的业务流程管理(BPM)和工作流套件,创建于 2001 年。它起源于法国国家计算机科学研究所,之后在法国计算机科学公司 Groupe Bull 内部孵化多年。自 2009 年起,Bonita 的开发由专门从事该领域的公司 Bonitasoft 负责支持。
***.org/wiki/Bonita_BPM
!logo
console$ docker run --name bonita -d -p 8080:8080 bonita
此命令将启动一个运行 Bonita 运行时 的容器:一个包含 Bonita Engine 和 Bonita Portal 的 Tomcat 捆绑包。在未指定环境变量的情况下,其效果等同于在主机上使用 startup.{sh|bat} 启动捆绑包(REST 和 HTTP API 已启用安全强化,参见安全部分)。此时 Bonita 使用 H2 数据库。
可通过 http://localhost:8080/bonita 访问 Bonita Portal,使用默认凭据登录:install / install
H2 数据库允许 Bonita 容器开箱即用,但不建议在开发环境之外使用。
PostgreSQL 是推荐用于测试和生产环境的数据库,可按照以下部分配置 Bonita 容器以使用 PostgreSQL 数据库。可选择使用 PostgreSQL 容器或已安装的 PostgreSQL 服务。
从 Bonita 2022.1 版本开始,Bonita Docker 镜像不再包含自动创建数据库和用户的配置脚本。
因此,在启动 Bonita 容器之前,需要配置 PostgreSQL 容器以与 Bonita 配合使用。Bonita 数据库配置的详细说明参见 数据库配置页面。此外,Bonita 在 Docker Hub 上提供了预配置的 PostgreSQL 镜像。
可使用以下命令运行该镜像:
bashdocker run --name mydbpostgres -h <hostname> -d bonitasoft/bonita-postgres:16.4
该镜像基于 GitHub 仓库 构建,可根据需求进一步调整或定制。
docker composebonita 的示例 compose.yaml:
yamlservices: db: image: bonitasoft/bonita-postgres:16.4 ports: - 5432:5432 environment: POSTGRES_PASSWORD: example restart: always bonita: image: bonita:2024.3 hostname: custom-hostname.example.com ports: - 8080:8080 environment: - DB_VENDOR=postgres - DB_HOST=db - DB_PORT=5432 - DB_NAME=bonita - DB_USER=bonita - DB_PASS=bpm - BIZ_DB_NAME=business_data - BIZ_DB_USER=business_data - BIZ_DB_PASS=bpm - BONITA_RUNTIME_ADMIN_USERNAME=tech_user - BONITA_RUNTIME_ADMIN_PASSWORD=secret - PLATFORM_LOGIN=pfadmin - PLATFORM_PASSWORD=pfsecret restart: on-failure:2 depends_on: db: condition: service_healthy
运行 docker compose up,等待初始化完成后,访问 http://localhost:8080 或 [***](根据实际情况)。
<hostname> 替换为许可证生成命令中使用的主机名$$ 不变如果不想在 Docker 容器中运行数据库,需配置 env.txt 文件并通过 docker run 命令提供:
propertiesDB_VENDOR=postgres DB_HOST=172.17.0.2 DB_PORT=5432 DB_NAME=custombonitadb DB_USER=custombonitauser DB_PASS=custombonitapass BIZ_DB_NAME=custombusinessdb BIZ_DB_USER=custombusinessuser BIZ_DB_PASS=custombusinesspass
bashdocker run --name=bonita -h <hostname> --env-file=env.txt -d -p 8080:8080 bonita
bashdocker run --name=bonita -h <hostname> -e "BONITA_RUNTIME_ADMIN_USERNAME=tech_user" -e "BONITA_RUNTIME_ADMIN_PASSWORD=secret" -e "PLATFORM_LOGIN=pfadmin" -e "PLATFORM_PASSWORD=pfsecret" -d -p 8080:8080 bonita
现在可通过 localhost:8080/bonita 访问 Bonita 运行时,使用凭据登录:tech_user / secret
Bonita 使用 Tomcat,会将文件写入工作目录和临时目录。
建议将以下文件夹挂载为卷:
/opt/bonita/server/temp/opt/bonita/server/work启动 bonita 镜像时,可通过在 docker run 命令行中传递一个或多个环境变量来调整 Bonita 实例的配置。
此可选环境变量与 PLATFORM_PASSWORD 一起用于定义平台管理员的用户名。如果未指定,默认用户名为 platformAdmin。
推荐使用此环境变量配置 Bonita 镜像,用于设置 Bonita 的平台管理员密码。如果未指定,默认密码为 platform。
此可选环境变量与 BONITA_RUNTIME_ADMIN_PASSWORD 一起用于定义租户管理员的用户名。如果未指定,默认用户名为 install。
推荐使用此环境变量配置 Bonita 镜像,用于设置 Bonita 的租户管理员密码。如果未指定,默认密码为 install。
此可选环境变量与 MONITORING_PASSWORD 一起用于定义受 基本身份验证 保护的端点访问权限:用于 JMX 远程访问。如果未指定,默认监控用户名为 monitoring。
此可选环境变量与 MONITORING_USERNAME 一起用于定义受 基本身份验证 保护的端点访问权限:用于 JMX 远程访问。如果未指定,默认监控密码为 mon1tor1ng_adm1n。
此可选环境变量用于启用/禁用 Bonita HTTP API。默认值为 false,即禁用 HTTP API。从 Bonita 2022.1 开始,HTTP API 受 基本身份验证 保护。参见以下两个参数配置基本身份验证。
此可选环境变量用于配置 HTTP API 基本身份验证的用户名。默认值为 http-api。
此可选环境变量用于配置 HTTP API 基本身份验证的密码。无默认值,如果 HTTP_API=true,则必须提供此值。
此可选环境变量用于启用/禁用从远程机器访问 JMX 控制台。默认值为 false。连接的主机为 bonita 服务器的名称/IP 地址,端口为 9000。连接凭据为环境变量 MONITORING_USERNAME 和 MONITORING_PASSWORD。
此可选环境变量允许激活/禁用 反向代理重定向。默认值为 false。
此可选环境变量允许激活/禁用将 Tomcat 访问日志写入标准输出。默认值为 false。
此可选环境变量允许激活/禁用将 Tomcat 访问日志写入特定文件。启用后,日志将写入容器内的 /opt/bonita/logs/ 目录。实际上,只有将卷挂载到上述目录时才有用。默认值为 false。
如果 ACCESSLOGS_FILES_ENABLED=true,此可选环境变量覆盖访问日志文件的默认路径。默认值为 /opt/bonita/logs。
如果 ACCESSLOGS_FILES_ENABLED=true,此可选环境变量允许在访问日志文件目录的完整路径后附加一个包含主机名的子目录。默认值为 false。
如果 ACCESSLOGS_FILES_ENABLED=true,此可选环境变量允许自动删除超过指定天数的访问日志文件。默认值为 30。
此可选环境变量允许指定 Tomcat 用于处理 HTTP/1.1 请求的最大 Http 线程数。直接修改容器内 Tomcat 的 server.xml 文件中的 maxThreads 参数。有关此参数的更多信息参见 此处。默认值为 20。
此可选环境变量用于自定义 JAVA_OPTS。默认值为 -Xms1024m -Xmx1024m -XX:MaxPermSize=256m。使用语法:-e JAVA_OPTS="-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m"
如果使用 --link 将 Bonita 容器链接到 PostgreSQL 或 MySQL 数据库,此环境变量会自动设置为 postgres 或 mysql。默认值为 h2。如果不使用 --link 功能,可以覆盖此值。
这些变量是可选的,用于配置 bonita 镜像连接数据库实例。如果使用 --link 运行容器,这些变量会自动设置。
这些变量用于定义 Bonita 如何访问其内部功能所需的数据库。
DB_NAME 默认值为 bonitadb。
DB_USER 默认值为 bonitauser。
DB_PASS 默认值为 bonitapass。
这些变量用于定义 Bonita 如何访问 业务数据 数据库。
BIZ_DB_NAME 默认值为 businessdb。
BIZ_DB_USER 默认值为 businessuser。
BIZ_DB_PASS 默认值为 businesspass。
自 2022.1 版本起
可通过挂载包含配置文件的卷到 /opt/bonita/conf/logs 目录来配置日志。
该卷必须包含两个文件:log4j2-loggers.xml 和 log4j2-appenders.xml
对这两个文件的任何修改都会自动热加载并立即生效。
此 Docker 镜像默认在 REST API 上启用静态和动态授权检查。为保持一致性,HTTP API 默认禁用。
REST API 授权
HTTP API
如需特定需求,可通过将 HTTP_API 设置为 true 来覆盖此行为:
console$ docker run -e HTTP_API=true -e HTTP_API_PASSWORD="My-Cust0m_S3cR3T" --name bonita -d -p 8080:8080 bonita
如需从 7.10.0 之前的版本更新,请参考 文档
停止容器以执行数据库备份
console$ docker stop bonita
获取 DB 容器 IP
console$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' mydbpostgres 172.17.0.26
转储数据库
console$ export PGPASSWORD=mysecretpassword $ pg_dump -O -x -h 172.17.0.26 -U postgres bonitadb > /tmp/bonitadb.sql
注意,businessdb 不会被更新工具更新,但可能也需要备份/迁移。
加载转储文件
console$ export PGPASSWORD=mysecretpassword $ psql -U postgres -h 172.17.0.26 -d postgres -c "CREATE USER newbonitauser WITH PASSWORD 'newbonitapass';" $ psql -U postgres -h 172.17.0.26 -d postgres -c "CREATE DATABASE newbonitadb OWNER newbonitauser;" $ export PGPASSWORD=newbonitapass $ cat /tmp/bonitadb.sql | psql -U newbonitauser -h 172.17.0.26 newbonitadb
从 [***] 获取最新的更新工具归档
consoleunzip bonita-update-tool-3.7.0.zip
配置更新工具
console$ cd bonita-update-tool-3.7.0
编辑更新工具配置文件 Config.properties,指向数据库。
console$ vim Config.properties
例如:
propertiesdb.vendor=postgres db.url=jdbc

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务