
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Camunda项目提供最新版Camunda BPM平台的Docker镜像,可用于演示、测试Camunda BPM平台,或扩展自定义流程应用。计划在官方https://hub.docker.com/r/camunda/camunda-bpm-platform/为每个即将发布的版本(包括alpha版本)提供镜像。
拉取并运行最新版本
bashdocker pull camunda/camunda-bpm-platform:latest docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest
Web应用访问(Tasklist、Cockpit、Admin)
通过着陆页访问三个Camunda Web应用:http://localhost:8080/camunda-welcome/index.html
默认管理员凭据:
demodemoREST API
Camunda REST API访问地址:http://localhost:8080/engine-rest
详细使用方法参见REST API文档。
注意:默认情况下REST API不需要认证。请按照文档说明启用REST API认证。
采用以下标签 schema,用户可选择不同应用服务器发行版。${DISTRO}可取值tomcat、wildfly或run,未指定时默认使用tomcat发行版:
latest、${DISTRO}-latest:Camunda BPM平台的最新次要版本SNAPSHOT、${VERSION}-SNAPSHOT、${DISTRO}-SNAPSHOT、${DISTRO}-${VERSION}-SNAPSHOT:未发布的最新SNAPSHOT版本${VERSION}、${DISTRO}-${VERSION}:特定版本的Camunda BPM平台所有可用标签参见https://hub.docker.com/r/camunda/camunda-bpm-platform/tags/。
run发行版配置run是Spring Boot发行版,可通过环境变量配置:
SPRING_DATASOURCE_DRIVER_CLASS_NAME:数据库驱动类名,支持H2(默认)、MySQL、PostgreSQL:
DB_DRIVER=org.h2.DriverDB_DRIVER=com.mysql.jdbc.DriverDB_DRIVER=org.postgresql.DriverSPRING_DATASOURCE_URL:数据库JDBC URLSPRING_DATASOURCE_USERNAME:数据库用户名SPRING_DATASOURCE_PASSWORD:数据库密码未指定时使用内置H2数据库。
可使用其他SPRING_*变量进一步配置应用,或挂载default.yml文件到/camunda/configuration/default.yml。Spring Boot配置详情参见Spring Boot文档。
为方便兼容,支持环境变量DB_DRIVER、DB_USERNAME、DB_PASSWORD、DB_URL、DB_PASSWORD_FILE,内部会映射为SPRING_DATASOURCE_*变量。
不支持JMX_PROMETHEUS配置;DEBUG可启用调试输出,但不启动调试 socket。
run支持启动参数选择启用Web应用或REST API:
bash# 仅启用Web应用 docker run camunda/camunda-bpm-platform:run ./camunda.sh --webapps # 仅启用REST API docker run camunda/camunda-bpm-platform:run ./camunda.sh --rest
此外,--production参数可切换配置为/camunda/configuration/production.yml。
Docker镜像使用Camunda BPM支持的最新LTS OpenJDK版本:
仅提供上述版本的即用镜像,其他支持的OpenJDK版本需自行配置。
Java选项
通过环境变量JAVA_OPTS覆盖默认Java选项。默认值限制堆大小为768MB,元空间大小为256MB:
bashJAVA_OPTS="-Xmx768m -XX:MaxMetaspaceSize=256m"
使用Docker内存限制
可通过JAVA_OPTS让JVM尊重Docker内存限制(适用于Java 8):
bashJAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"
通过以下环境变量配置数据库:
DB_CONN_MAXACTIVE:最大活动连接数(默认:20),tomcat发行版映射为maxTotal配置DB_CONN_MAXIDLE:最大空闲连接数(默认:20),wildfly和run发行版忽略DB_CONN_MINIDLE:最小空闲连接数(默认:5)DB_DRIVER:数据库驱动类名,支持H2、MySQL、PostgreSQL:
DB_DRIVER=org.h2.DriverDB_DRIVER=com.mysql.cj.jdbc.DriverDB_DRIVER=org.postgresql.DriverDB_URL:数据库JDBC URLDB_USERNAME:数据库用户名DB_PASSWORD:数据库密码DB_VALIDATE_ON_BORROW:使用前验证连接(默认:false)DB_VALIDATION_QUERY:连接验证查询(默认:"SELECT 1")DB_PASSWORD_FILE:支持Docker Secrets,指定密钥路径(如/run/secrets/camunda_db_password),使用时需确保未设置DB_PASSWORDSKIP_DB_CONFIG:设为非空值跳过自动数据库配置,使用手动配置WAIT_FOR:启动前等待TCP可达的host:portWAIT_FOR_TIMEOUT:等待服务可用的时长(默认30秒)示例:使用PostgreSQL数据库
bash# 启动PostgreSQL容器 docker run -d --name postgresql -e POSTGRES_DB=process-engine -e POSTGRES_USER=camunda -e POSTGRES_PASSWORD=camunda postgres # 启动Camunda容器,连接PostgreSQL docker run -d --name camunda -p 8080:8080 --link postgresql:db \ -e DB_DRIVER=org.postgresql.Driver \ -e DB_URL=jdbc:postgresql://db:5432/process-engine \ -e DB_USERNAME=camunda \ -e DB_PASSWORD=camunda \ -e WAIT_FOR=db:5432 \ camunda/camunda-bpm-platform:latest
使用环境文件配置
创建db-env.txt文件:
DB_DRIVER=org.postgresql.Driver DB_URL=jdbc:postgresql://db:5432/process-engine DB_USERNAME=camunda DB_PASSWORD=camunda WAIT_FOR=db:5432
通过环境文件启动容器:
bashdocker run -d --name camunda -p 8080:8080 --link postgresql:db \ --env-file db-env.txt camunda/camunda-bpm-platform:latest
镜像已包含H2、MySQL、PostgreSQL驱动。使用其他数据库需添加驱动并手动配置,可通过设置SKIP_DB_CONFIG=true跳过自动配置:
bashdocker run -d --name camunda -p 8080:8080 -e SKIP_DB_CONFIG=true \ camunda/camunda-bpm-platform:latest
Camunda BPM容器启动前需确保数据库可用。镜像内置https://github.com/vishnubob/wait-for-it%EF%BC%8C%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%85%8D%E7%BD%AE%E7%AD%89%E5%BE%85%E6%9C%BA%E5%88%B6%EF%BC%9A
WAIT_FOR:需等待的host:port服务WAIT_FOR_TIMEOUT:等待超时时间(秒)示例:等待PostgreSQL 60秒:
bashdocker run -d --name camunda -p 8080:8080 --link postgresql:db \ -e DB_DRIVER=org.postgresql.Driver \ -e DB_URL=jdbc:postgresql://db:5432/process-engine \ -e DB_USERNAME=camunda \ -e DB_PASSWORD=camunda \ -e WAIT_FOR=db:5432 \ -e WAIT_FOR_TIMEOUT=60 \ camunda/camunda-bpm-platform:latest
Camunda BPM平台安装在/camunda目录:
/camunda/conf//camunda/webapps/目录结构因应用服务器而异。
设置环境变量DEBUG=true启用JPDA调试,可通过容器8000端口连接调试。仅支持wildfly和tomcat发行版。
设置环境变量JMX_PROMETHEUS=true启用Prometheus JMX Exporter,可通过<host>:9404/metrics获取Prometheus格式指标。需挂载配置文件到/camunda/javaagent/prometheus-jmx.yml。仅支持wildfly和tomcat发行版。
可构建指定版本和发行版的Camunda BPM平台Docker镜像。
构建已发布版本
指定DISTRO(tomcat、wildfly、run)和VERSION(如7.12.0)构建社区版镜像:
bashdocker build -t camunda-bpm-platform \ --build-arg DISTRO=${DISTRO} \ --build-arg VERSION=${VERSION} \ .
构建SNAPSHOT版本
添加SNAPSHOT=true参数构建未发布的SNAPSHOT版本:
bashdocker build -t camunda-bpm-platform \ --build-arg DISTRO=${DISTRO} \ --build-arg VERSION=${VERSION} \ --build-arg SNAPSHOT=true \ .
构建企业版
企业客户可构建企业版镜像:设置EE=true,VERSION为不带ee后缀的版本号(如7.8.1),并提供企业 credentials(USER、PASSWORD):
bashdocker build -t camunda-bpm-platform \ --build-arg EE=true \ --build-arg DISTRO=${DISTRO} \ --build-arg VERSION=${VERSION} \ --build-arg USER=${USER} \ --build-arg PASSWORD=${PASSWORD} \ .
注意:多阶段构建确保credentials不进入最终镜像历史,但请勿在公司外分发该镜像。
代理环境下构建
通过以下参数设置Maven代理:MAVEN_PROXY_HOST、MAVEN_PROXY_PORT、MAVEN_PROXY_USER、MAVEN_PROXY_PASSWORD
示例:
bashdocker build -t camunda-bpm-platform \ --build-arg DISTRO=${DISTRO} \ --build-arg VERSION=${VERSION} \ --build-arg MAVEN_PROXY_HOST=${PROXY_HOST} \ --build-arg MAVEN_PROXY_PORT=${PROXY_PORT} \ --build-arg MAVEN_PROXY_USER=${PROXY_USER} \ --build-arg MAVEN_PROXY_PASSWORD=${PROXY_PASSWORD} \ .
bashdocker run -d --name camunda -p 8080:8080 \ -e ADMIN_USERNAME=admin \ -e ADMIN_PASSWORD=adminpassword \ -e ADMIN_EMAIL=admin@email \ camunda/camunda-bpm-platform:latest
通过卷挂载自定义配置文件,如修改Tomcat的bpm-platform.xml:
bashdocker run -d --name camunda -p 8080:8080 \ -v $PWD/bpm-platform.xml:/camunda/conf/bpm-platform.xml \ camunda/camunda-bpm-platform:latest
挂载自定义流程应用到部署目录,如部署https://github.com/camunda-consulting/code/tree/master/one-time-examples/***到Tomcat:
bashdocker run -d --name camunda -p 8080:8080 \ -v /PATH/TO/DEMO/twitter.war:/camunda/webapps/twitter.war \ camunda/camunda-bpm-platform:latest
bashdocker run -d --name camunda -p 8080:8080 \ --env ENGINE_REST_AUTH_ENABLE=1 \ camunda/camunda-bpm-platform:latest
挂载本地目录覆盖部署文件夹,仅保留自定义应用:
bashdocker run -d --name camunda -p 8080:8080 \ -v $PWD/webapps/:/camunda/webapps/ \ camunda/camunda-bpm-platform:latest
基于官方镜像构建自定义镜像,添加自有应用:
dockerfileFROM camunda/camunda-bpm-platform:tomcat-latest ADD my.war /camunda/webapps/my.war
设置环境变量TZ修改容器时区:
bashdocker run -d --name camunda -p 8080:8080 \ -e TZ=Europe/Berlin \ camunda/camunda-bpm-platform:latest
仓库分支及作用:
next(默认分支):用于支持https://github.com/camunda/camunda-bpm-platform%E5%BD%93%E5%89%8D%60master%60%E7%9A%84%E6%96%B0%E5%8A%9F%E8%83%BD%E5%92%8Cbug%E4%BF%AE%E5%A4%8D7.x分支:Camunda BPM次要版本发布后从next创建,仅在必要时接收bug修复回溯Apache License, Version 2.0
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务