
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
维护者:
https://github.com/bonitasoft/bonita-distrib
获取帮助的途径:
Bonita 官方文档、StackOverflow、Bonitasoft 社区论坛
Dockerfile 链接问题反馈地址:
Jira
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/bonita/
已发布镜像 artifact 详情:
https://github.com/docker-library/repo-info/blob/master/repos/bonita (https://github.com/docker-library/repo-info/commits/master/repos/bonita)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbonita
https://github.com/docker-library/official-images/blob/master/library/bonita (https://github.com/docker-library/official-images/commits/master/library/bonita)
本文档来源:
https://github.com/docker-library/docs/tree/master/bonita (https://github.com/docker-library/docs/commits/master/bonita)
Bonita 是一个开源的业务流程管理(BPM)和工作流套件,创建于 2001 年。它起源于法国国家计算机科学研究所,之后在法国计算机科学公司 Groupe Bull 内部孵化多年。自 2009 年起,Bonita 的开发由专门从事该领域的公司 Bonitasoft 负责支持。
***.org/wiki/Bonita_BPM
!https://raw.githubusercontent.com/docker-library/docs/2a1bd671d71a525b06dacfa8be39ce9656814c40/bonita/logo.png
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 服务。
PostgreSQL 容器
从 Bonita 2022.1 版本开始,Bonita Docker 镜像不再包含自动创建数据库和用户的配置脚本。
因此,在启动 Bonita 容器之前,需要配置 PostgreSQL 容器以与 Bonita 配合使用。Bonita 数据库配置的详细说明参见 数据库配置页面。此外,Bonita 在 Docker Hub 上提供了预配置的 https://hub.docker.com/r/bonitasoft/bonita-postgres%E3%80%82
可使用以下命令运行该镜像:
bashdocker run --name mydbpostgres -h <hostname> -d bonitasoft/bonita-postgres:16.4
该镜像基于 https://github.com/Bonitasoft-Community/bonita-database-docker/tree/main/postgres/16 构建,可根据需求进一步调整或定制。
使用 docker compose
bonita 的示例 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 或 http://host-ip:8080(根据实际情况)。
<hostname> 替换为许可证生成命令中使用的主机名$ 不变已安装的 PostgreSQL 服务
如果不想在 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 目录来配置日志。
该卷必须包含两个文件:https://raw.githubusercontent.com/bonitasoft/bonita-distrib/10.3.0/tomcat-resources/tomcat-distrib-for-bonita/src/main/resources/tomcat/server/conf/log4j2-loggers.xml 和 https://raw.githubusercontent.com/bonitasoft/bonita-distrib/10.3.0/docker/files/log4j2/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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务