
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Flower 是一款基于 Web 的 Celery 集群监控与管理工具。通过直观的 Web 界面和丰富的 API,Flower 提供了对 Celery 任务、工人节点(Worker)及消息代理(Broker)的实时监控与远程控制能力,帮助开发者和运维人员高效管理分布式任务调度系统。
mher/flower基础部署
启动 Flower 服务,默认监听 5555 端口:
bashdocker run -d -p 5555:5555 --name flower mher/flower
访问 Web 界面:http://localhost:5555
指定端口与地址
自定义绑定端口(如 5566)和地址(如 0.0.0.0,允许外部访问):
bashdocker run -d -p 5566:5566 mher/flower celery flower --port=5566 --address=0.0.0.0
传递 Celery 参数
通过 Celery 参数指定应用路径、Broker URL 等(需放在 celery 命令后、flower 子命令前):
bashdocker run -d -p 5555:5555 mher/flower celery -A proj --broker=amqp://guest:guest@rabbitmq:5672// flower
-A proj:指定 Celery 应用路径为 proj。--broker:指定消息代理 URL(此处连接到名为 rabbitmq 的容器)。启用基本认证
通过 --basic-auth 参数配置用户名密码认证(格式:用户名:密码):
bashdocker run -d -p 5555:5555 mher/flower celery flower --basic-auth=admin:secret
Docker Compose 示例
与 Celery 应用、RabbitMQ broker 联动的 docker-compose.yml:
yamlversion: '3' services: rabbitmq: image: rabbitmq:3-management ports: - "5672:5672" # Broker 端口 - "15672:15672" # RabbitMQ 管理界面 celery-app: build: ./your-celery-app # 构建 Celery 应用镜像 depends_on: - rabbitmq command: celery -A proj worker --loglevel=info flower: image: mher/flower depends_on: - celery-app - rabbitmq ports: - "5555:5555" command: celery -A proj --broker=amqp://guest:guest@rabbitmq:5672// flower --port=5555 --address=0.0.0.0
Flower 需通过 Celery 命令启动,格式如下:
bashcelery [celery参数] flower [flower参数]
celery 命令后、flower 子命令前。flower 子命令后。Celery 核心参数
| 参数 | 说明 | 示例 |
|---|---|---|
-A, --app | 指定 Celery 应用路径 | -A proj(应用包路径为 proj) |
-b, --broker | 指定消息代理 URL | --broker=amqp://guest@rabbitmq:5672 |
--result-backend | 指定任务结果存储后端 | --result-backend=redis://redis:6379 |
Flower 核心参数
| 参数 | 说明 | 示例 |
|---|---|---|
--port | 绑定端口(默认 5555) | --port=5566 |
--address | 绑定地址(默认 0.0.0.0) | --address=127.0.0.1 |
--unix-socket | 使用 Unix 套接字而非 TCP 端口 | --unix-socket=/tmp/flower.sock |
--basic-auth | 启用基本认证(用户名:密码) | --basic-auth=admin:secret |
--auth_provider | 启用 OAuth 认证(如 GitHub、Google) | --auth_provider=github --auth_config=oauth.cfg |
--prometheus-port | 暴露 Prometheus 指标的端口 | --prometheus-port=9090 |
启用 GitHub OAuth 认证
oauth.cfg:ini[github] client_id = YOUR_GITHUB_CLIENT_ID client_secret = YOUR_GITHUB_CLIENT_SECRET redirect_uri = http://localhost:5555/login orgs = your-github-org # 限制指定组织成员访问
bashdocker run -d -p 5555:5555 -v $(pwd)/oauth.cfg:/oauth.cfg mher/flower celery flower --auth_provider=github --auth_config=/oauth.cfg
集成 Prometheus
启动时暴露 Prometheus 指标端口,供 Prometheus 采集:
bashdocker run -d -p 5555:5555 -p 9090:9090 mher/flower celery flower --prometheus-port=9090
Prometheus 指标地址:http://localhost:9090/metrics
Flower 提供 HTTP API 和 WebSocket 接口,支持集群管理与实时事件订阅。
重启工人节点
bashcurl -X POST http://localhost:5555/api/worker/pool/restart/myworker
(myworker 为工人节点名称)
异步调用任务
bashcurl -X POST -d '{"args":[1,2]}' http://localhost:5555/api/task/async-apply/tasks.add
(调用 tasks.add 任务,参数为 [1,2])
终止任务
bashcurl -X POST -d 'terminate=True' http://localhost:5555/api/task/revoke/8a4da87b-e12b-4547-b89a-e92e4d1f8efd
(终止 ID 为 8a4da87b-e12b-4547-b89a-e92e4d1f8efd 的任务)
订阅任务成功事件:
javascriptvar ws = new WebSocket("ws://localhost:5555/api/task/events/task-succeeded/"); ws.onmessage = function (event) { console.log("任务成功:", event.data); // 输出任务详情 JSON };
Flower 采用 BSD 3-Clause License 许可协议。详细内容参见 https://github.com/mher/flower/blob/master/LICENSE 文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 mher/flower 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: