资讯动态

Conductor Standalone 镜像弃用迁移指南:从 conductoross/conductor-standalone 平滑过渡到 conductoross/conductor

发布时间:2026/9/10 7:51:44 来源:尧图企业网站定制
Conductor Standalone 镜像弃用迁移指南从 conductoross/conductor-standalone 平滑过渡到 conductoross/conductor【免费下载链接】conductorConductor is an event driven agentic workflow engine providing durable and highly resilient execution engine for applications and AI Agents项目地址: https://gitcode.com/GitHub_Trending/co/conductor导读本文以 Conductor 官方仓库中conductor-standalone镜像的弃用说明dockerhub-description.md为主体完整梳理该镜像的废弃状态、版本锁定事实、一键迁移命令与:deprecated哨兵 Tag 的 CI 自文档化用法并结合仓库内的弃用镜像 Dockerfile、服务端启动脚本startup.sh、SQLite 持久化模块sqlite-persistence与 Docker Compose 配置深入解释为何废弃、迁移后开箱即用的底层原因。读者读完可安全完成迁移并理解新镜像零外部依赖本地体验的实现原理。一、废弃状态不要再使用 conductoross/conductor-standalone官方镜像仓库conductoross/conductor-standalone已明确标记为DEPRECATED — DO NOT USE已弃用请勿使用该镜像自2023 年 12 月起不再更新版本被永久锁定在Conductor 3.15.0当前积极维护的镜像为conductoross/conductor官方推荐的一键本地启动方案见 getting-started 指南本仓库 docker/README.md 亦提供了完整的本地编排说明。这一事实在仓库内可以得到镜像级验证docker/conductor-standalone-deprecation/目录下的 Dockerfile 已不再构建任何 Conductor 服务而是基于alpine:3的哨兵容器FROM alpine:3 CMD printf \n\ \n\ conductoross/conductor-standalone IS DEPRECATED\n\ \n\ \n\ This image has not been updated since December 2023.\n\ Last published version: Conductor 3.15.0\n\ Current release: Conductor 3.23.0\n\ \n\ DO NOT USE this image for new deployments.\n\ \n\ Use instead:\n\ docker pull conductoross/conductor:latest\n\ \n\ Getting started:\n\ https://github.com/conductor-oss/getting-started\n\ \n\ \n\ \n exit 1可以看到该镜像启动后仅打印一段醒目的弃用提示含最后发布版本 3.15.0 / 当前发布版本 3.23.0随后立即以退出码 1 结束。当前仓库主版本见 gradle.properties 的version3.30.2-SNAPSHOT已远超 3.15.0印证了旧镜像长期停更、与主线严重脱节的判断。二、迁移一行命令完成镜像替换官方迁移方式极为简单只需将任何引用conductoross/conductor-standalone的地方替换为docker pull conductoross/conductor:latest需要同步调整的引用点迁移时建议全面排查以下位置是否仍引用旧镜像名CI/CD 流水线中的镜像地址GitHub Actions、Jenkins、GitLab CI 等Kubernetes / Helm / Docker Compose 编排文件中的image:字段本地脚本、Makefile、文档中的docker run/docker pull命令已有容器与编排环境中缓存的旧镜像 Tag3.15.0、latest等。完整的本地开发环境UI Server若需要包含 UI 与 Server 的完整本地环境官方推荐直接使用主仓库中的 Docker Compose 文件git clone https://github.com/conductor-oss/conductor.git cd conductor/docker docker compose up在本仓库中docker-compose.yaml 即默认编排conductor-server构建自 docker/server/Dockerfile同时内置 nginx 托管的 Web UI与 Redis、Elasticsearch 7 依赖服务并通过healthcheckcurl -I -XGET http://localhost:8080/health保证依赖就绪后再启动服务。仓库还提供了多种后端组合的编排模板详见 docker/README.md 中的对照表Docker Compose 文件说明docker-compose.yamlRedis Elasticsearch 7docker-compose-postgres.yamlPostgres Elasticsearch 7docker-compose-mysql.yamlMysql Elasticsearch 7docker-compose-redis-os2.yamlRedis OpenSearch 2.xdocker-compose-redis-os3.yamlRedis OpenSearch 3.x三、Tag 语义:deprecated哨兵镜像的 CI 自文档化用法官方弃用说明中给出了旧仓库保留的唯一 TagTag说明:deprecated基于 Alpine 的镜像启动时打印弃用提示并以退出码 1 退出。可作为即插即用替代品让 CI 流水线自动记录self-document迁移过程此外所有旧 Tag3.15.0、2026 年之前的latest都指向同一个已不再受支持的 Conductor 3.15.0 构建。exit 1的行为与 Dockerfile 末尾的 exit 1完全一致。这意味着将image: conductoross/conductor-standalone:3.15.0直接改为image: conductoross/conductor-standalone:deprecated流水线会因非零退出码立即失败并在日志中留下明确的迁移指引——这正是让 CI 自我记录迁移的设计意图。建议配合迁移时间表在流水线内先切换至:deprecated暴露引用点再统一替换为conductoross/conductor:latest。四、为什么废弃收敛单一镜像 SQLite 开箱即用官方给出的废弃原因有两点收敛为单一镜像conductor-standalone被有意废弃项目不再维护独立轻量镜像这条构建链路SQLite 开箱即用conductoross/conductor现已内置 SQLite 支持提供了与旧镜像相同的零依赖本地体验zero-dependency local experience无需再单独维护一个独立镜像。4.1 服务端启动脚本中的默认 SQLite仓库内 docker/server/bin/startup.sh 直接印证了零外部依赖的实现方式if [ -z $CONFIG_PROP ]; then echo No CONFIG_PROP set — using built-in defaults (SQLite, no external dependencies required); java ${JAVA_OPTS} -jar conductor-server.jar 21 | tee -a /app/logs/server.log else echo Using config: $CONFIG_PROP; java ${JAVA_OPTS} -DCONDUCTOR_CONFIG_FILE/app/config/$CONFIG_PROP -jar conductor-server.jar 21 | tee -a /app/logs/server.log fi即不设置CONFIG_PROP环境变量时服务端直接以内置默认配置启动默认使用 SQLite 作为持久化后端无需 Redis、无需 Elasticsearch/OpenSearch、无需任何外部数据库单个容器即可跑起完整引擎。这正对应旧conductor-standalone镜像的定位因此旧镜像没有继续维护的必要。4.2 SQLite 后端的源码级实现conductoross/conductor的 SQLite 支持由独立模块 sqlite-persistence 提供核心装配类为 SqliteConfiguration.java它通过条件注解仅在conductor.db.typesqlite时生效ConditionalOnProperty(name conductor.db.type, havingValue sqlite)启动时该配置类会执行一系列 SQLite PRAGMA 优化见initializeSqlite()方法确保作为工作流引擎的并发可用性PRAGMA作用journal_modeWAL启用 WAL 日志模式提升读写并发能力busy_timeout30000锁冲突时最多等待 30 秒foreign_keysON启用外键约束synchronousNORMAL在持久性与性能之间取折中temp_storeMEMORY临时存储使用内存同时模块通过 Flyway 自动执行建表迁移迁移脚本位于classpath:db/migration_sqlite采用V{n}__{description}命名并在启动时自动完成 schema 初始化这也是开箱即用的底层保障之一。针对 SQLite 的锁特性SqliteConfiguration.java 中还内置了专用重试策略识别 SQLiteBUSY(5)/LOCKED(6)错误码及database is locked等错误信息配合指数退避初始 50ms、倍增、上限 5s最多重试 10 次从源码层面消化了 SQLite 在高并发下的锁竞争问题。可调参数由 SqliteProperties.java 定义均以conductor.sqlite.*前缀配置配置项默认值说明conductor.sqlite.taskDefCacheRefreshInterval60s内存中任务定义缓存的刷新间隔conductor.sqlite.deadlockRetryMax3死锁重试上限conductor.sqlite.asyncMaxPoolSize10异步执行池大小conductor.sqlite.asyncWorkerQueueSize10异步 worker 队列容量conductor.sqlite.onlyIndexOnStatusChangefalse是否仅在状态变化时索引如需显式指定 SQLite 后端可通过conductor.db.typesqlite及对应的数据源属性配置而新镜像默认即 SQLite则无需任何配置。仓库 docker/server/config 目录下的config-redis.properties、config-postgres.properties、config-mysql.properties、config-cassandra-es7.properties等则展示了显式切换到其他后端如conductor.db.typeredis_standalone、conductor.db.typepostgres、conductor.db.typemysql、conductor.db.typecassandra与启用 Elasticsearch/OpenSearch 索引的方式供需要生产级后端组合时参考。五、迁移核对清单与验证完成迁移后建议执行以下核对镜像拉取docker pull conductoross/conductor:latest成功且镜像推送时间较新容器启动docker run -p 8080:8080 conductoross/conductor:latest可直接启动默认 SQLite零外部依赖访问http://localhost:8080/health返回健康状态端口确认新镜像由 docker/server/Dockerfile 构建最终阶段基于debian:stable-slim同时装入 OpenJDK 21JRE与 nginx8080 为 Conductor API 与 Swagger 端口5000 为 Web UInginx端口旧镜像替换确认 CI / 编排文件中已无conductoross/conductor-standalone引用或已临时切换为:deprecated并完成流水线自文档化记录功能验证参照仓库 docker/README.md 的配置指南按需通过CONFIG_PROP与conductor.db.type选择 Redis / Postgres / MySQL / Cassandra 等生产后端。六、总结conductoross/conductor-standalone的废弃是 Conductor 镜像体系的一次主动收敛旧的 3.15.0 独立镜像已停止维护取而代之的是内置 SQLite、默认零外部依赖的conductoross/conductor:latest。迁移成本极低——只需替换镜像引用并可按需使用:deprecated哨兵 Tag 让 CI 自动暴露所有引用点而新镜像开箱即用的体验背后是 sqlite-persistence 模块中 PRAGMA 优化、Flyway 自动迁移与锁竞争重试策略的完整工程支撑。【免费下载链接】conductorConductor is an event driven agentic workflow engine providing durable and highly resilient execution engine for applications and AI Agents项目地址: https://gitcode.com/GitHub_Trending/co/conductor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价