请帮助我docker-compose
文件。
现在,我在 docker 文件中使用 Solr,但我需要将其更改为 SolrCloud。我需要 2 个 Solr 实例、一个内部 Zookeeper 和 docker(本地)。
这是docker-compose
的一个例子我做的文件:
version: "3"
services:
mongo:
image: mongo:latest
container_name: mongo
hostname: mongo
networks:
- gsec
ports:
- 27018:27017
sqlserver:
image: microsoft/mssql-server-linux:latest
hostname: sqlserver
container_name: sqlserver
environment:
SA_PASSWORD: "#Password123!"
ACCEPT_EULA: "Y"
networks:
- gsec
ports:
- 1403:1433
solr:
image: solr
container_name: solr
ports:
- "8983:8983"
networks:
- gsec
volumes:
- data:/opt/solr/server/solr/mycores
entrypoint:
- docker-entrypoint.sh
- solr-precreate
- mycore
volumes:
data:
networks:
gsec:
driver: bridge
先谢谢了。
最佳答案
Solr docker 实例嵌入了一个 zookeeper 服务器。您只需使用正确的参数启动 Solr 并添加 zookeeper 端口 9983:9983
在 docker-compose 文件中:
solr:
image: solr
container_name: solr
ports:
- "9983:9983"
- "8983:8983"
networks:
- gsec
volumes:
- data:/opt/solr/server/solr/mycores
entrypoint:
- docker-entrypoint.sh
- solr
- start
- -c
- -f
SolrCloud 基本上是一个 Solr 集群,其中 Zookeeper 用于协调和配置集群。
通常您将 SolrCloud 与 Docker 一起使用,因为您正在学习它的工作原理,或者因为您正在准备您的应用程序(在本地?)部署到更大的环境中。
另一方面,如果您没有分布式配置,即在不同节点上运行 Solr 和 Zookeeper,则运行 SolrCloud 没有多大意义。
当您每秒进行数百甚至数千次搜索并收集数百万甚至数十亿个文档时,SolrCloud 是您需要的那种集群。
您的集群必须水平扩展。
关于docker - 如何使用 docker-compose 运行 SolrCloud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51019760/