请帮助我与docker-compose
文件。现在,我正在使用Solr在docker文件,但我需要改变它到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
先谢谢你了。
3条答案
按热度按时间ymdaylpp1#
Solr docker示例中嵌入了一个zookeeper服务器。您只需使用正确的参数启动Solr,并在docker-compose文件中添加zookeeper端口
9983:9983
:SolrCloud基本上是一个Solr集群,其中Zookeeper用于协调和配置集群。
通常,您使用SolrCloud和Docker是因为您正在学习它的工作原理,或者因为您正在准备您的应用程序(本地?)以在更大的环境中部署。
另一方面,如果您没有分布式配置,即Solr和Zookeeper运行在不同的节点上,则运行SolrCloud没有多大意义。
SolrCloud是一种集群,当您每秒进行数百甚至数千次搜索,收集数百万甚至数十亿个文档时,您需要这种集群。
您的集群必须水平扩展。
gijlo24d2#
与外部zookeper一起使用的版本。
'-t'更改容器中的数据目录。
要查看其他选项运行:solr启动-帮助
ubbxdtey3#
我在本地使用此设置来测试基于official example的solr的三个示例和zookeeper的三个示例。