在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节点群集的主要内容,如果未能解决你的问题,请参考以下文章