
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
wslph/mule是Mule ESB运行时的Docker容器镜像,支持社区版(Community Edition)和企业版(Enterprise Edition)。该镜像提供容器化部署方式,便于快速搭建Mule ESB运行环境,适用于开发、测试及生产环境中运行Mule ESB应用。
从Docker Hub拉取最新版本镜像:
bash# 拉取企业版3.9.0最新构建 docker pull wslph/mule:3.9.0-ee # 拉取指定日期构建的镜像(格式:版本-YYYY-MM-DD) docker pull wslph/mule:3.9.0-ee-2018-02-02
示例1:启动社区版容器
bashdocker run --restart=always --name mule-ce -d \ --publish 7777:7777 \ wslph/mule:3.9.0-ce && docker logs -f mule-ce
示例2:启动企业版容器
bashdocker run --restart=always --name mule-ee -d \ --publish 7777:7777 \ wslph/mule:3.9.0-ee && docker logs -f mule-ee
示例3:使用主机网络模式
bashdocker run --restart=always --name mule-ee -d \ --net=host \ wslph/mule:3.9.0-ee && docker logs -f mule-ee
示例4:Mule 4集成Anypoint监控
bashdocker run --restart=always --name mule -d \ --publish 8081:8081\ --env 'ARM_AUTH_TOKEN=<auth-token>' \ --env 'ANYPOINT_ENV_ID=<env-id-hash-code>' \ --env 'ANYPOINT_ORG_ID=<org-id-hash-code>' \ --env 'MULE_ESB_NAME=NODE-1' \ --env 'MULE_SERVER_GROUP=BILLING-SERVICES' \ --env 'MULE_ENVIRONMENT=DEVELOPMENT' \ --env 'MULE_ARM_MONITORING_ENABLED=true' \ --volume ~/mule/apps:/opt/mule/apps \ --volume ~/mule/domains:/opt/mule/domains \ --volume ~/mule/conf:/opt/mule/conf \ --volume ~/mule/logs:/opt/mule/logs \ --volume ~/mule/patches:/opt/mule/patches \ --volume ~/mule/.mule:/opt/mule/.mule \ --volume ~/mule/plugins:/opt/mule/plugins \ --volume ~/mule/server-plugins:/opt/mule/server-plugins \ --volume ~/mule/policies:/opt/mule/policies \ wslph/mule:4.3.0-20210304-ee-2021-10-23 && docker logs -f mule
说明:
<auth-token>需通过命令生成:curl -X POST -H "Content-Type: application/json" -d '{"username":"<username>", "password":"<password>"}' https://anypoint.mulesoft.com/accounts/login | jq -r .access_token
企业版默认以试用模式运行,如需安装许可证,将license.lic或mule-ee-license.lic文件放入挂载的conf卷(如~/mule/conf),重启容器即可自动检测并安装。
为避免数据丢失,建议挂载以下卷:
| 卷路径(容器内) | 用途 | 主机挂载示例 |
|---|---|---|
/opt/mule/apps | 存放Mule应用 | ~/mule/apps:/opt/mule/apps |
/opt/mule/domains | 存放域名配置 | ~/mule/domains:/opt/mule/domains |
/opt/mule/conf | 存放运行时配置 | ~/mule/conf:/opt/mule/conf |
/opt/mule/logs | 存放日志文件 | ~/mule/logs:/opt/mule/logs |
/opt/mule/patches | 存放补丁文件 | ~/mule/patches:/opt/mule/patches |
/opt/mule/.mule | 运行时状态数据 | ~/mule/.mule:/opt/mule/.mule |
将补丁文件(如SE-3341-3.6.2.jar)放入/opt/mule/patches卷,容器启动时会自动复制到/opt/mule/lib/user目录,重启容器即可应用补丁。
通过环境变量MULE_ARM_TOKEN指定Anypoint令牌,示例:
bashdocker run --restart=always --name mule-ee -d \ --publish 8081:8081\ --env 'MULE_ESB_NAME=My-ESB-Server-01' \ --env 'MULE_ARM_TOKEN=aaabbbcccdddeeefff...' \ --volume ~/mule/apps:/opt/mule/apps \ --volume ~/mule/conf:/opt/mule/conf \ wslph/mule:3.9.0-ee && docker logs -f mule-ee
需指定以下环境变量,并执行注册脚本:
| 环境变量 | 说明 |
|---|---|
MULE_ESB_NAME | ESB实例名称 |
MULE_MMC_AGENT_HOST | 主机IP或域名 |
MULE_MMC_AGENT_PORT | 代理端口(默认7777) |
MULE_MMC_URL | MMC控制台URL(如http://my-server.example.com/mmc-console) |
MULE_MMC_USERNAME/MULE_MMC_PASSWORD | MMC登录凭据(或使用MULE_MMC_HEADER_AUTH指定授权头) |
示例命令:
bashdocker run --restart=always --name mule-ee -d \ --publish 7777:7777 \ --env 'MULE_ESB_NAME=My-ESB-Server-01' \ --env 'MULE_MMC_AGENT_HOST=123.455.234.110' \ --env 'MULE_MMC_URL=http://my-server.example.com/mmc-console' \ --env 'MULE_MMC_USERNAME=admin' \ --env 'MULE_MMC_PASSWORD=admin' \ --volume ~/mule/conf:/opt/mule/conf \ wslph/mule:3.9.0-ee && docker logs -f mule-ee
注册执行:
bashdocker exec <container-name> mmc_setup # 返回JSON结果表示注册状态
| 参数 | 描述 |
|---|---|
CUSTOM_SCRIPT | Mule启动前执行的自定义shell脚本 |
TIMEZONE | 容器时区(如Asia/Manila) |
APP_CONFIG_PATH | 配置路径(相对于/opt/mule/conf/,通过${mule.config.path}访问) |
MULE_STARTUP_ENV_CONFIG | Mule启动参数(如-M-Dmule.vault.key=mulesoft) |
MULE_ENV_OVERRIDE_DEFAULT | 是否覆盖默认资源(0:默认;1:使用主机挂载资源) |
MULE_ARM_TOKEN | Anypoint Runtime Manager注册令牌 |
MULE_ESB_NAME | ESB实例名称(用于管理平台显示) |
MULE_MMC_URL | MMC控制台URL |
MULE_MMC_AGENT_HOST | MMC代理主机IP/域名 |
MULE_MMC_AGENT_PORT | MMC代理端口(默认7777) |
MULE_MMC_HEADER_AUTH | MMC授权头(如Authorization:Basic YWRtaW46YWRtaW4=) |
MULE_SERVER_GROUP | 目标服务器组 |
MULE_ENVIRONMENT | 部署环境(如DEVELOPMENT) |
MULE_ARM_MONITORING_ENABLED | 是否启用Anypoint监控(true/false) |
通过docker exec进入运行中的容器:
bashdocker exec -it <container-name> bash # 如:docker exec -it mule-ee bash
如需构建包含特定应用的自定义镜像,需在Dockerfile中指定CMD命令,示例:
dockerfileFROM wslph/mule:4.2.0-ee COPY ./helloworld/target/helloworld-1.0.0-SNAPSHOT-mule-application.jar /opt/mule/apps/ CMD ["/opt/mule/bin/mule-start.sh"] # 必须包含,确保启动时执行配置检查
该镜像由WhiteSky Labs的Reynold Lariza开发维护,WhiteSky Labs是MuleSoft®的高级合作伙伴,专注于API集成服务。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务