使用docker将mule应用程序部署到mule集群

使用docker将mule应用程序部署到mule集群,docker,mule,mule-esb,mule-cluster,Docker,Mule,Mule Esb,Mule Cluster,我对MULE ESB和部署有点陌生。我一直在做一些关于将mule应用程序部署到mule单机版的试验。我使用的方法与此类似 但我的问题是,如果我有一个mule集群,在这个集群中部署我的mule代理和muleapi,有什么方法可以做到这一点吗?如何将单个docker图像绑定到同一个mule集群?或者,如果我有上述方法中提到的具有mule运行时的单个容器,我将如何将这些容器绑定到同一集群中 让我们把你的问题一个一个地分解,然后试着回答 if I have a mule cluster where i

我对MULE ESB和部署有点陌生。我一直在做一些关于将mule应用程序部署到mule单机版的试验。我使用的方法与此类似


但我的问题是,如果我有一个mule集群,在这个集群中部署我的mule代理和muleapi,有什么方法可以做到这一点吗?如何将单个docker图像绑定到同一个mule集群?或者,如果我有上述方法中提到的具有mule运行时的单个容器,我将如何将这些容器绑定到同一集群中

让我们把你的问题一个一个地分解,然后试着回答

if I have a mule cluster where in I deploy my mule proxies and also mule APIs , Is there any way to do that ?
如果您有3.8版本之前的Mule运行时,则需要APi网关单独部署APi代理。但是在Mule3.8版之后,Mulesoft有统一的Mule运行时和API网关,这意味着您的API代理可以直接部署到Mule运行时。代理不需要单独的API网关。
所有API、代理和策略都可以直接部署到Mule运行时。

如果您仔细阅读这篇文章,您可以在Docker中创建Mule集群一节中看到。
每个集群有2个属性配置文件,用于定义每个集群的属性,以及YAML文件,该文件将运行时
绑定为一个集群。
这个YAML文件指出了描述每个集群的属性的属性文件

还有一个Docker映像文件,它获取以前的基本映像(在顶部
中描述,来自anirban mule demo
),创建mule运行时,并根据其中定义的内容部署mule应用程序

当您使用命令:
docker compose build
时,YAML文件将运行时build和Mule集群绑定在docker容器中。在后台,基本映像运行两次,创建两个不同的Mule运行时,然后使用描述每个集群属性和单个节点的2个属性配置文件创建集群

它实际上使用了从属性文件创建Mule cluster的过程,这是使用Mule cluster的另一种方法。
您可以找到如何从属性文件创建Mule集群的示例

现在,您可以使用
docker run
命令启动集群中的Mule运行时,集群中的应用程序将获得不同的http端口
7082
8082
分别在docker run命令中定义

希望这有帮助

How would I bind individual docker images to the same mule cluster?