
venatum/bull-board本Docker镜像基于bull-board(v6.13.1)构建,提供无需编码即可监控bull和bullmq队列的Web界面。通过简单配置即可连接Redis,支持标准Redis连接及Sentinel模式,适用于各类需要监控后台任务队列状态的场景。
重要提示:自v2.0.0版本起,因Node.js 20在32位模式下存在问题,镜像不再支持32位系统。
/healthcheck端点监控容器及Redis状态bashdocker run -p 3000:3000 venatum/bull-board:latest
localhost:3000localhost:6379,无密码,数据库0)yamlservices: bullboard: container_name: bullboard image: venatum/bull-board restart: unless-stopped ports: - "3000:3000"
localhost:3000localhost:6379,无密码,数据库0)支持通过Redis Sentinel模式连接队列,需配置Sentinel相关环境变量。注意:Sentinel模式下,界面中的"Redis服务器信息"按钮可能无法正常工作。
| 变量名 | 描述 | 默认值 |
|---|---|---|
REDIS_HOST | Redis主机地址 | localhost |
REDIS_PORT | Redis端口 | 6379 |
REDIS_DB | Redis数据库编号 | '0' |
REDIS_USE_TLS | 是否启用TLS(true/false) | false |
REDIS_USER | Redis用户名(Redis 6+支持) | 未启用 |
REDIS_PASSWORD | Redis密码 | 未启用 |
REDIS_FAMILY | IP协议版本(4/6/0,0为自动) | 0 |
SENTINEL_NAME | Sentinel实例名称(Sentinel模式必填) | 未启用 |
SENTINEL_HOSTS | Sentinel节点列表(如1.redis:26379,2.redis:26379) | 未启用 |
MAX_RETRIES_PER_REQUEST | 命令最大重试次数 | null(禁用) |
| 变量名 | 描述 | 默认值 |
|---|---|---|
SENTINEL_ROLE | 连接角色(master/slave) | master |
SENTINEL_USERNAME | Sentinel认证用户名 | 未启用 |
SENTINEL_PASSWORD | Sentinel认证密码 | 未启用 |
SENTINEL_COMMAND_TIMEOUT | Sentinel命令超时(毫秒) | 未启用 |
SENTINEL_TLS_ENABLED | Sentinel是否启用TLS | false |
SENTINEL_UPDATE | 是否自动更新Sentinel节点列表 | false |
SENTINEL_MAX_CONNECTIONS | Sentinel最大连接数 | 10 |
SENTINEL_FAILOVER_DETECTOR | 是否启用故障转移检测 | false |
| 变量名 | 描述 | 默认值 |
|---|---|---|
REDIS_COMMAND_TIMEOUT | 命令超时(毫秒) | 未启用 |
REDIS_SOCKET_TIMEOUT | socket超时(毫秒) | 未启用 |
REDIS_KEEP_ALIVE | 保持连接时间(毫秒,0为禁用) | 0 |
REDIS_NO_DELAY | 是否禁用Nagle算法 | true |
REDIS_CONNECTION_NAME | 连接名称(便于识别) | 未启用 |
REDIS_AUTO_RESUBSCRIBE | 重连后自动重新订阅频道 | true |
REDIS_AUTO_RESEND_UNFULFILLED | 重连后重发未完成命令 | true |
REDIS_CONNECT_TIMEOUT | 连接超时(毫秒) | *** |
REDIS_ENABLE_OFFLINE_QUEUE | 是否启用离线命令队列 | true |
REDIS_ENABLE_READY_CHECK | 是否启用就绪检查 | true |
| 变量名 | 描述 | 默认值 |
|---|---|---|
BULL_BOARD_HOSTNAME | 服务绑定地址 | 0.0.0.0 |
PORT | 服务端口 | 3000 |
PROXY_PATH | 子路径部署前缀(如/my-base-path/queues) | '' |
USER_LOGIN | 访问用户名(与USER_PASSWORD同时设置生效) | 未启用 |
USER_PASSWORD | 访问密码(与USER_LOGIN同时设置生效) | 未启用 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
BULL_PREFIX | 队列名称前缀 | bull |
BULL_VERSION | 队列库版本(BULLMQ或BULL) | BULLMQ |
BACKOFF_STARTING_DELAY | 首次重试延迟(毫秒) | 500 |
BACKOFF_MAX_DELAY | 最大重试间隔(毫秒) | Infinity |
BACKOFF_TIME_MULTIPLE | 重试延迟乘数 | 2 |
BACKOFF_NB_ATTEMPTS | 最大重试次数 | 10 |
基于felixmosh/bull-board,默认值与原项目一致:
| 变量名 | 描述 | 默认值 |
|---|---|---|
BULL_BOARD_TITLE | 页面标题 | Bull Dashboard |
BULL_BOARD_LOGO_PATH | 自定义Logo路径(需同时设置宽高) | 空 |
BULL_BOARD_LOGO_WIDTH | Logo宽度(需设置BULL_BOARD_LOGO_PATH) | - |
BULL_BOARD_LOGO_HEIGHT | Logo高度(需设置BULL_BOARD_LOGO_PATH) | - |
BULL_BOARD_FAVICON | 自定义favicon(需设置备用图标) | 空 |
BULL_BOARD_FAVICON_ALTERNATIVE | 备用favicon(需设置BULL_BOARD_FAVICON) | - |
BULL_BOARD_LOCALE | 界面语言 | - |
BULL_BOARD_DATE_FORMATS_SHORT | 短日期格式 | - |
BULL_BOARD_DATE_FORMATS_COMMON | 通用日期格式 | - |
BULL_BOARD_DATE_FORMATS_FULL | 完整日期格式 | - |
通过设置USER_LOGIN和USER_PASSWORD环境变量限制界面访问,需同时配置两个变量:
bashdocker run -p 3000:3000 \ -e USER_LOGIN=admin \ -e USER_PASSWORD=secret \ venatum/bull-board:latest
访问localhost:3000时将提示输入用户名密码。
容器提供/healthcheck端点,返回JSON格式健康状态:
json{ "status": "ok", "info": { "redis": { "status": "up", "description": "Based on the Redis PING/PONG system" } } }
| 字段名 | 描述 | 类型 |
|---|---|---|
status | 整体健康状态(任一指标异常则为error) | ok 或 error |
info | 所有状态为"up"(健康)的指标详情 | object |
error | 所有状态为"down"(异常)的指标详情(状态为error时出现) | string |
details | 所有指标的完整信息 | object |
yamlservices: redis: container_name: redis image: redis:alpine restart: unless-stopped ports: - "6379:6379" volumes: - redis_db_data:/data bullboard: container_name: bullboard image: venatum/bull-board:latest restart: unless-stopped environment: REDIS_HOST: redis # 连接Redis服务名 REDIS_PORT: 6379 # Redis端口 REDIS_PASSWORD: example-password # Redis密码 REDIS_USE_TLS: 'false' # 禁用TLS BULL_PREFIX: bull # 队列前缀 USER_LOGIN: admin # 访问用户名 USER_PASSWORD: secure123 # 访问密码 ports: - "3000:3000" depends_on: - redis volumes: redis_db_data: external: false
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务