在Docker中安装MarkLogic的2节点群集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Docker中安装MarkLogic的2节点群集相关的知识,希望对你有一定的参考价值。

我想在docker中安装MarkLogic并形成集群,即在同一台计算机上运行的两个或多个ML节点实例。如何实现?

答案

Building a MarkLogic Docker Container博客条目中,它描述了如何创建和初始化运行MarkLogic的Docker映像。

在文章底部附近,它描述了如何使用--link开关和docker-compose链接多个容器,以帮助管理Docker容器集群:

链接容器

您是告诉Docker容器如何通信的人!使用docker run命令时,您还可以传递--link标志。

请考虑以下示例:

docker run -d --name=marklogic1 --hostname=marklogic1.local -p 8000-8002:8000-8002 marklogic:8.05-preinitialized

docker run -d --name=marklogic2 --hostname=marklogic2.local --link marklogic1:marklogic1 -p 18000-18002:8000-8002 marklogic:8.05-preinitialized

上面创建了两个MarkLogic容器。第二个具有--link标志。 Docker网络设置环境变量和每个要链接的容器以及链接容器内的/ etc / hosts文件。这设置了Docker容器通过内部Docker网络进行通信的能力。 --hostname标志用于与MarkLogic保持一致,MarkLogic在与群集中的其他MarkLogic服务器联系时使用完整域名。因此,我们只需将.local域添加到容器的名称。

[最后,请注意第二个容器上的-p标志将MarkLogic的端口从8000到8002暴露给主机的端口18000到18002。为什么不使用主机的8000到8002的端口呢?因为第一个容器已经在使用它们。记住,Docker与主机共享网络!但是当然,您可以在主机上选择任意范围的开放端口来映射容器的MarkLogic端口。

现在,只需将浏览器指向第一个容器(marklogic1)中的端口8001,然后执行安装后的步骤。跳过加入集群。完成后,将浏览器指向第二个容器(marklogic2)的端口18001,然后执行安装后的步骤。当要求加入集群时,只需使用主机名localhost并将端口号保留为8001。第二个容器中的MarkLogic将与第一个容器中的MarkLogic联系。将更新配置,使marklogic2与marklogic1加入集群。创建并添加第三个MarkLogic容器,并将其也链接到marklogic1:marklogic1和marklogic2:marklogic2,您将很快拥有一个适当的3节点MarkLogic集群!

使用docker-compose

Docker创建了另一个工具来帮助管理Docker容器集群。 docker-compose具有创建多个容器并将它们联网的命令。然后,您可以使用docker-compose命令创建,启动和停止它们。 Docker使用名为Dockerfile的文件来构建容器。 docker-compose使用名为docker-compose.yml的文件来构建容器网络。

[docker-compose可作为separate download使用。

以上是关于在Docker中安装MarkLogic的2节点群集的主要内容,如果未能解决你的问题,请参考以下文章

docker中安装宝塔面板教程

在 docker 中安装 pip

docker中安装ssh服务

如何在CentOS6.5系统中安装Docker

如何在CentOS6.5系统中安装Docker

Arch系Linux中安装Docker