symptoma/activemq本镜像基于 bellsoft/liberica-openjdk-alpine:17 构建,旨在提供轻量级且支持多架构(包括 Apple M1 芯片/aarch64 架构)的 Apache ActiveMQ 容器化部署方案。镜像已发布至 Docker Hub,可直接用于快速部署 ActiveMQ 消息队列服务。
Docker Hub 地址:[***]
适用于需要快速部署 ActiveMQ 消息队列服务的场景,包括:
通过以下命令快速启动 ActiveMQ 服务,映射默认端口:
bashdocker run -it -p 61616:61616 -p 8161:8161 symptoma/activemq:latest
61616:OpenWire 协议端口(ActiveMQ 核心协议)8161:Web 控制台端口可通过以下环境变量控制 ActiveMQ 行为,配置项如下表所示:
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| ACTIVEMQ_USERNAME | system | 安全配置(credentials.properties 文件)中的用户名 |
| ACTIVEMQ_PASSWORD | manager | 安全配置(credentials.properties 文件)中的密码 |
| ACTIVEMQ_WEBADMIN_USERNAME | admin | Web 控制台(jetty-realm.properties 文件)中的管理员用户名 |
| ACTIVEMQ_WEBADMIN_PASSWORD | admin | Web 控制台(jetty-realm.properties 文件)中的管理员密码 |
| ACTIVEMQ_WEBCONSOLE_USE_DEFAULT_ADDRESS | false | 是否使用 ActiveMQ Jetty 默认监听地址(127.0.0.1)。默认值为 false,即 Web 控制台监听 0.0.0.0,允许外部访问 |
| ACTIVEMQ_ADMIN_CONTEXTPATH | /admin | Web 控制台 上下文路径 |
| ACTIVEMQ_API_CONTEXTPATH | /api | API 服务 上下文路径 |
| ACTIVEMQ_ENABLE_SCHEDULER | false | 是否启用调度器(设置 activemq.xml 中 schedulerSupport 为 true) |
容器暴露以下端口,可根据需求映射到主机:
| 端口 | 描述 |
|---|---|
| 1883 | MQTT 协议端口 |
| 5672 | AMQP 协议端口 |
| 8161 | Web 控制台端口 |
| 61613 | STOMP 协议端口 |
| 61614 | WebSocket 协议端口 |
| 61616 | OpenWire 协议端口 |
自定义安全凭证及 Web 控制台配置:
bashdocker run -it \ -p 61616:61616 \ -p 8161:8161 \ -e ACTIVEMQ_USERNAME=myactivemquser \ -e ACTIVEMQ_PASSWORD=myactivemquserpass \ -e ACTIVEMQ_WEBADMIN_USERNAME=roos \ -e ACTIVEMQ_WEBADMIN_PASSWORD=TestTest \ symptoma/activemq:latest
创建 docker-compose.yml 文件:
yamlversion: '3' services: activemq: image: symptoma/activemq:latest ports: - "61616:61616" # OpenWire - "8161:8161" # Web Console - "5672:5672" # AMQP - "1883:1883" # MQTT environment: - ACTIVEMQ_USERNAME=appuser - ACTIVEMQ_PASSWORD=apppass123 - ACTIVEMQ_WEBADMIN_USERNAME=admin - ACTIVEMQ_WEBADMIN_PASSWORD=admin@123 - ACTIVEMQ_ENABLE_SCHEDULER=true restart: unless-stopped
启动服务:
bashdocker-compose up -d
当前镜像集成的 ActiveMQ 版本为 5.18.0(官方下载地址)。
自 ActiveMQ 5.16.0 起,Web 控制台默认仅监听容器内 127.0.0.1 地址,导致外部无法访问(详见 AMQ-8018)。本镜像通过默认设置 ACTIVEMQ_WEBCONSOLE_USE_DEFAULT_ADDRESS=false 解决此问题,使 Web 控制台监听 0.0.0.0,允许外部访问。
bash./build.sh
bashBUILDER_NAME=$(docker buildx create) && docker buildx use $BUILDER_NAME
bash# 构建指定版本 docker buildx build --push --platform linux/arm64,linux/amd64 --tag symptoma/activemq:5.18.0 . # 同时标记为 latest docker buildx build --push --platform linux/arm64,linux/amd64 --tag symptoma/activemq:latest .

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务